{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "source": [
    "import numpy\n",
    "import toyplot\n",
    "import networkx as nx\n",
    "import matplotlib.pyplot as plt"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "source": [
    "\n",
    "x = numpy.linspace(0,10,100)\n",
    "y1 = numpy.sin(x)\n",
    "y2 = numpy.cos(x)\n",
    "y3 = y1+y2"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "source": [
    "canvas = toyplot.Canvas(width=600, height=300)\n",
    "axes = canvas.cartesian()\n",
    "mark1 = axes.plot(x, y1)\n",
    "mark2 = axes.plot(x, y2)\n",
    "mark3 = axes.plot(x, y3)\n"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"t0e0f5de102a2454184047e30db19c07b\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"300.0px\" id=\"t4a7f5f846d5f4583b6c7907962740d54\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 600.0 300.0\" width=\"600.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"t8b7085c66555465d8b3698e3966f4366\"><clipPath id=\"t0277c407ea71480683706507b949126e\"><rect height=\"220.0\" width=\"520.0\" x=\"40.0\" y=\"40.0\"></rect></clipPath><g clip-path=\"url(#t0277c407ea71480683706507b949126e)\"><g class=\"toyplot-mark-Plot\" id=\"t26149f32c576467094aaad0ff4287192\" style=\"fill:none\"><g class=\"toyplot-Series\"><path d=\"M 50.0 150.0037332927238 L 55.05050505050505 142.87309794047985 L 60.101010101010104 135.81515491113223 L 65.15151515151516 128.90185547526616 L 70.20202020202021 122.20367635340459 L 75.25252525252526 115.78890125036364 L 80.30303030303031 109.72292474601777 L 85.35353535353535 104.0675856388686 L 90.4040404040404 98.88053653855843 L 95.45454545454545 94.21465613393522 L 100.50505050505052 90.11751012822373 L 105.55555555555556 86.63086633672907 L 110.60606060606061 83.790268890345 L 115.65656565656568 81.62467588559323 L 120.7070707070707 80.15616417512253 L 125.75757575757575 79.39970430814219 L 130.8080808080808 79.36300791513003 L 135.85858585858585 80.04644909263126 L 140.9090909090909 81.44306058958036 L 145.95959595959596 83.53860483402447 L 151.01010101010104 86.31171907617544 L 156.06060606060606 89.73413316814862 L 161.11111111111111 93.7709577602622 L 166.16161616161617 98.38103997591674 L 171.21212121212122 103.51738293917556 L 176.26262626262624 109.12762487822624 L 181.31313131313132 115.15457292056671 L 186.36363636363637 121.5367861382106 L 191.4141414141414 128.2092018991354 L 196.46464646464648 135.10379913971457 L 201.5151515151515 142.15029179649176 L 206.56565656565652 149.27684532819677 L 211.6161616161616 156.41080902351507 L 216.66666666666669 163.47945662919523 L 221.7171717171717 170.41072774825858 L 226.7676767676768 177.1339624502249 L 231.8181818181818 183.58062160446687 L 236.8686868686869 189.68498559334964 L 241.9191919191919 195.38482428221667 L 246.96969696969697 200.62203141630096 L 252.02020202020205 205.34321697728572 L 257.07070707070704 209.5002514608142 L 262.1212121212121 213.05075652638232 L 267.1717171717172 215.95853701774908 L 272.22222222222223 218.19394994968974 L 277.27272727272725 219.73420669950397 L 282.32323232323233 220.56360532262866 L 287.37373737373736 220.67369062404356 L 292.42424242424244 220.06334035364304 L 297.47474747474746 218.7387766468673 L 302.5252525252525 216.71350259396195 L 307.57575757575756 214.00816458450296 L 312.62626262626264 210.6503418304979 L 317.67676767676767 206.6742652137413 L 322.72727272727275 202.12046832359914 L 327.77777777777777 197.0353742426706 L 332.8282828282828 191.47082229278743 L 337.8787878787879 185.48353956587522 L 342.92929292929296 179.1345626270865 L 347.979797979798 172.4886152855768 L 353.030303030303 165.61344877615704 L 358.080808080808 158.5791510782542 L 363.1313131313131 151.45743241323652 L 368.1818181818182 144.3208942040067 L 373.2323232323232 137.2422889493593 L 378.2828282828283 130.29377855821377 L 383.33333333333337 123.5461987045389 L 388.38383838383834 117.06833670240462 L 393.4343434343434 110.92623026276863 L 398.4848484848485 105.18249428073061 L 403.5353535353536 99.89568251623085 L 408.58585858585855 95.11969067545733 L 413.6363636363636 90.90320697816733 L 418.68686868686865 87.28921581204439 L 423.7373737373738 84.31455953401958 L 428.7878787878788 82.0095628857164 L 433.8383838383838 80.39772385186635 L 438.88888888888886 79.49547411319881 L 443.93939393939394 79.31201153583605 L 448.98989898989896 79.84920640485845 L 454.0404040404041 81.10158235792963 L 459.090909090909 83.05637221335107 L 464.1414141414141 85.69364812341414 L 469.1919191919192 88.98652472621909 L 474.2424242424242 92.90143322495533 L 479.29292929292933 97.3984636005795 L 484.3434343434344 102.43177146924758 L 489.3939393939393 107.95004543684782 L 494.44444444444446 113.89703018624976 L 499.4949494949495 120.21209996472446 L 504.5454545454545 126.8308766251964 L 509.59595959595964 133.68588592078376 L 514.6464646464647 140.7072453621209 L 519.6969696969697 147.82337662519217 L 524.7474747474747 154.9617352471277 L 529.7979797979798 162.0495501711757 L 534.8484848484849 169.01456560165508 L 539.89898989899 175.7857776061472 L 544.9494949494949 182.29415795573374 L 550.0 188.4733578241831\" style=\"stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:2.0\"></path></g></g><g class=\"toyplot-mark-Plot\" id=\"tafb12ecc862f49a78528864d2167ef37\" style=\"fill:none\"><g class=\"toyplot-Series\"><path d=\"M 50.0 79.29025589003837 L 55.05050505050505 79.65069550576374 L 60.101010101010104 80.72833989875213 L 65.15151515151516 82.51220316517973 L 70.20202020202021 84.98409994593608 L 75.25252525252526 88.11883081487233 L 80.30303030303031 91.88443917103201 L 85.35353535353535 96.24253701601032 L 90.4040404040404 101.14869629534762 L 95.45454545454545 106.55290181447893 L 100.50505050505052 112.40006111204715 L 105.55555555555556 118.63056609274392 L 110.60606060606061 125.1809006941862 L 115.65656565656568 131.98428839304816 L 120.7070707070707 138.97137294953282 L 125.75757575757575 146.07092545042354 L 130.8080808080808 153.21057044285809 L 135.85858585858585 160.31752375634986 L 140.9090909090909 167.31933449142724 L 145.95959595959596 174.14462361078574 L 151.01010101010104 180.72381160348178 L 156.06060606060606 186.98982780409267 L 161.11111111111111 192.87879413578142 L 166.16161616161617 198.33067630693674 L 171.21212121212122 203.2898958228523 L 176.26262626262624 207.70589657336993 L 181.31313131313132 211.53366022048618 L 186.36363636363637 214.73416513186925 L 191.4141414141414 217.2747841817503 L 196.46464646464648 219.1296173638595 L 201.5151515151515 220.27975582562877 L 206.56565656565652 220.71347463199848 L 211.6161616161616 220.42635229372385 L 216.66666666666669 219.4213158416644 L 221.7171717171717 217.70861098755373 L 226.7676767676768 215.30569767544034 L 231.8181818181818 212.23707208858818 L 236.8686868686869 208.53401692636237 L 241.9191919191919 204.23428249687137 L 246.96969696969697 199.38170187642282 L 252.02020202020205 194.02574405900077 L 257.07070707070704 188.2210096511221 L 262.1212121212121 182.02667425314507 L 267.1717171717172 175.5058852014058 L 272.22222222222223 168.72511782101523 L 277.27272727272725 161.7534977519132 L 282.32323232323233 154.6620962566363 L 287.37373737373736 147.52320569369388 L 292.42424242424244 140.40960254264039 L 297.47474747474746 133.39380549384057 L 302.5252525252525 126.5473361662321 L 307.57575757575756 119.93998998960168 L 312.62626262626264 113.63912468426925 L 317.67676767676767 107.70897359168 L 322.72727272727275 102.2099908560655 L 327.77777777777777 97.19823513263268 L 332.8282828282828 92.72479810498744 L 337.8787878787879 88.83528363769537 L 342.92929292929296 85.56934287369108 L 347.979797979798 82.96027001592418 L 353.030303030303 81.03466291399269 L 358.080808080808 79.81215191586844 L 363.1313131313131 79.3051997489004 L 368.1818181818182 79.51897447018226 L 373.2323232323232 80.45129678147487 L 378.2828282828283 82.09266224577544 L 383.33333333333337 84.42633817904839 L 388.38383838383834 87.42853422936889 L 393.4343434343434 91.06864490453226 L 398.4848484848485 95.30956157571285 L 403.5353535353536 100.10805077649292 L 408.58585858585855 105.41519494074171 L 413.6363636363636 111.1768910863002 L 418.68686868686865 117.33440236070658 L 423.7373737373738 123.82495682630223 L 428.7878787878788 130.5823873804823 L 433.8383838383838 137.53780628750818 L 438.88888888888886 144.62030744545586 L 443.93939393939394 151.7576892291328 L 448.98989898989896 158.8771905400359 L 454.0404040404041 165.90623255978696 L 459.090909090909 172.77315864533622 L 464.1414141414141 179.4079648231726 L 469.1919191919192 185.74301343561092 L 474.2424242424242 191.7137226639839 L 479.29292929292933 197.25922489948704 L 484.3434343434344 202.32298724999868 L 489.3939393939393 206.85338785720336 L 494.44444444444446 210.8042421488266 L 499.4949494949495 214.13527366117387 L 504.5454545454545 216.8125246322349 L 509.59595959595964 218.80870217961578 L 514.6464646464647 220.10345653423352 L 519.6969696969697 220.68358849335684 L 524.7474747474747 220.54318397813978 L 529.7979797979798 219.6836743239195 L 534.8484848484849 218.11382168865674 L 539.89898989899 215.84962972827074 L 544.9494949494949 212.9141804494766 L 550.0 209.33739890330824\" style=\"stroke:rgb(98.8%,55.3%,38.4%);stroke-opacity:1.0;stroke-width:2.0\"></path></g></g><g class=\"toyplot-mark-Plot\" id=\"tc8f2832346044d6bb492d1c65f7eae68\" style=\"fill:none\"><g class=\"toyplot-Series\"><path d=\"M 50.0 79.29025589003837 L 55.05050505050505 72.52006015351975 L 60.101010101010104 66.53976151716054 L 65.15151515151516 61.410325347722086 L 70.20202020202021 57.18404300661683 L 75.25252525252526 53.903998772512196 L 80.30303030303031 51.603630624326 L 85.35353535353535 50.30638936215508 L 90.4040404040404 50.02549954118225 L 95.45454545454545 50.763824655690335 L 100.50505050505052 52.513837947547046 L 105.55555555555556 55.25769913674918 L 110.60606060606061 58.96743629180743 L 115.65656565656568 63.60523098591759 L 120.7070707070707 69.12380383193153 L 125.75757575757575 75.4668964658419 L 130.8080808080808 82.5698450652643 L 135.85858585858585 90.36023955625731 L 140.9090909090909 98.7586617882838 L 145.95959595959596 107.67949515208642 L 151.01010101010104 117.03179738693336 L 156.06060606060606 126.72022767951752 L 161.11111111111111 136.6460186033198 L 166.16161616161617 146.70798299012966 L 171.21212121212122 156.80354546930405 L 176.26262626262624 166.82978815887236 L 181.31313131313132 176.68449984832904 L 186.36363636363637 186.26721797735604 L 191.4141414141414 195.48025278816186 L 196.46464646464648 204.22968321085028 L 201.5151515151515 212.42631432939675 L 206.56565656565652 219.98658666747144 L 211.6161616161616 226.8334280245151 L 216.66666666666669 232.89703917813583 L 221.7171717171717 238.11560544308847 L 226.7676767676768 242.43592683294145 L 231.8181818181818 245.8139604003312 L 236.8686868686869 248.21526922698823 L 241.9191919191919 249.61537348636426 L 246.96969696969697 250.0 L 252.02020202020205 249.3652277435627 L 257.07070707070704 247.71752781921253 L 262.1212121212121 245.0736974868036 L 267.1717171717172 241.4606889264311 L 272.22222222222223 236.91533447798116 L 277.27272727272725 231.4839711586933 L 282.32323232323233 225.22196828654117 L 287.37373737373736 218.1931630250136 L 292.42424242424244 210.46920960355965 L 297.47474747474746 202.12884884798407 L 302.5252525252525 193.25710546747024 L 307.57575757575756 183.94442128138087 L 312.62626262626264 174.28573322204338 L 317.67676767676767 164.37950551269753 L 322.72727272727275 154.32672588694084 L 327.77777777777777 144.22987608257947 L 332.8282828282828 134.19188710505105 L 337.8787878787879 124.31508991084677 L 342.92929292929296 114.7001722080538 L 347.979797979798 105.4451520087772 L 353.030303030303 96.64437839742595 L 358.080808080808 88.3875697013988 L 363.1313131313131 80.7588988694131 L 368.1818181818182 73.83613538146514 L 373.2323232323232 67.68985243811036 L 378.2828282828283 62.382707511265394 L 383.33333333333337 57.96880359086347 L 388.38383838383834 54.493137639049706 L 393.4343434343434 51.99114187457714 L 398.4848484848485 50.48832256371965 L 403.5353535353536 50.0 L 408.58585858585855 50.531152323475226 L 413.6363636363636 52.07636477174371 L 418.68686868686865 54.61988488002716 L 423.7373737373738 58.13578306759801 L 428.7878787878788 62.58821697347487 L 433.8383838383838 67.93179684665071 L 438.88888888888886 74.11204826593088 L 443.93939393939394 81.06596747224506 L 448.98989898989896 88.72266365217054 L 454.0404040404041 97.00408162499279 L 459.090909090909 105.82579756596347 L 464.1414141414141 115.09787965386296 L 469.1919191919192 124.72580486910623 L 474.2424242424242 134.61142259621542 L 479.29292929292933 144.65395520734273 L 484.3434343434344 154.75102542652246 L 489.3939393939393 164.79970000132738 L 494.44444444444446 174.6975390423526 L 499.4949494949495 184.34364033317453 L 504.5454545454545 193.63966796470748 L 509.59595959595964 202.49085480767573 L 514.6464646464647 210.80696860363057 L 519.6969696969697 218.5032318258252 L 524.7474747474747 225.50118593254368 L 529.7979797979798 231.72949120237138 L 534.8484848484849 237.12465399758798 L 539.89898989899 241.63167404169417 L 544.9494949494949 245.2046051124865 L 550.0 247.8070234347675\" style=\"stroke:rgb(55.3%,62.7%,79.6%);stroke-opacity:1.0;stroke-width:2.0\"></path></g></g></g><g class=\"toyplot-coordinates-Axis\" id=\"t1962470147704c1da188f7ffa73f08e4\" transform=\"translate(50.0,250.0)translate(0,10.0)\"><line style=\"\" x1=\"0\" x2=\"500.0\" y1=\"0\" y2=\"0\"></line><g><g transform=\"translate(0.0,6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-2.78\" y=\"8.555\">0</text></g><g transform=\"translate(250.0,6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-2.78\" y=\"8.555\">5</text></g><g transform=\"translate(500.0,6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-5.56\" y=\"8.555\">10</text></g></g><g class=\"toyplot-coordinates-Axis-coordinates\" style=\"visibility:hidden\" transform=\"\"><line style=\"stroke:rgb(43.9%,50.2%,56.5%);stroke-opacity:1.0;stroke-width:1.0\" x1=\"0\" x2=\"0\" y1=\"-3.0\" y2=\"4.5\"></line><text style=\"alignment-baseline:alphabetic;fill:rgb(43.9%,50.2%,56.5%);fill-opacity:1.0;font-size:10px;font-weight:normal;stroke:none;text-anchor:middle\" x=\"0\" y=\"-6\"></text></g></g><g class=\"toyplot-coordinates-Axis\" id=\"tfaedd91737e249709c2459ac7a3e463b\" transform=\"translate(50.0,250.0)rotate(-90.0)translate(0,-10.0)\"><line style=\"\" x1=\"0\" x2=\"200.0\" y1=\"0\" y2=\"0\"></line><g><g transform=\"translate(29.282789304590768,-6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-4.445\" y=\"-4.440892098500626e-16\">-1</text></g><g transform=\"translate(99.99626670727619,-6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-2.78\" y=\"-4.440892098500626e-16\">0</text></g><g transform=\"translate(170.70974410996163,-6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-2.78\" y=\"-4.440892098500626e-16\">1</text></g></g><g class=\"toyplot-coordinates-Axis-coordinates\" style=\"visibility:hidden\" transform=\"\"><line style=\"stroke:rgb(43.9%,50.2%,56.5%);stroke-opacity:1.0;stroke-width:1.0\" x1=\"0\" x2=\"0\" y1=\"3.0\" y2=\"-4.5\"></line><text style=\"alignment-baseline:hanging;fill:rgb(43.9%,50.2%,56.5%);fill-opacity:1.0;font-size:10px;font-weight:normal;stroke:none;text-anchor:middle\" x=\"0\" y=\"6\"></text></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"t0e0f5de102a2454184047e30db19c07b\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"t4a7f5f846d5f4583b6c7907962740d54\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot.coordinates.Axis\"] = (\n",
       "        function(canvas)\n",
       "        {\n",
       "            function sign(x)\n",
       "            {\n",
       "                return x < 0 ? -1 : x > 0 ? 1 : 0;\n",
       "            }\n",
       "\n",
       "            function mix(a, b, amount)\n",
       "            {\n",
       "                return ((1.0 - amount) * a) + (amount * b);\n",
       "            }\n",
       "\n",
       "            function log(x, base)\n",
       "            {\n",
       "                return Math.log(Math.abs(x)) / Math.log(base);\n",
       "            }\n",
       "\n",
       "            function in_range(a, x, b)\n",
       "            {\n",
       "                var left = Math.min(a, b);\n",
       "                var right = Math.max(a, b);\n",
       "                return left <= x && x <= right;\n",
       "            }\n",
       "\n",
       "            function inside(range, projection)\n",
       "            {\n",
       "                for(var i = 0; i != projection.length; ++i)\n",
       "                {\n",
       "                    var segment = projection[i];\n",
       "                    if(in_range(segment.range.min, range, segment.range.max))\n",
       "                        return true;\n",
       "                }\n",
       "                return false;\n",
       "            }\n",
       "\n",
       "            function to_domain(range, projection)\n",
       "            {\n",
       "                for(var i = 0; i != projection.length; ++i)\n",
       "                {\n",
       "                    var segment = projection[i];\n",
       "                    if(in_range(segment.range.bounds.min, range, segment.range.bounds.max))\n",
       "                    {\n",
       "                        if(segment.scale == \"linear\")\n",
       "                        {\n",
       "                            var amount = (range - segment.range.min) / (segment.range.max - segment.range.min);\n",
       "                            return mix(segment.domain.min, segment.domain.max, amount)\n",
       "                        }\n",
       "                        else if(segment.scale[0] == \"log\")\n",
       "                        {\n",
       "                            var amount = (range - segment.range.min) / (segment.range.max - segment.range.min);\n",
       "                            var base = segment.scale[1];\n",
       "                            return sign(segment.domain.min) * Math.pow(base, mix(log(segment.domain.min, base), log(segment.domain.max, base), amount));\n",
       "                        }\n",
       "                    }\n",
       "                }\n",
       "            }\n",
       "\n",
       "            var axes = {};\n",
       "\n",
       "            function display_coordinates(e)\n",
       "            {\n",
       "                var current = canvas.createSVGPoint();\n",
       "                current.x = e.clientX;\n",
       "                current.y = e.clientY;\n",
       "\n",
       "                for(var axis_id in axes)\n",
       "                {\n",
       "                    var axis = document.querySelector(\"#\" + axis_id);\n",
       "                    var coordinates = axis.querySelector(\".toyplot-coordinates-Axis-coordinates\");\n",
       "                    if(coordinates)\n",
       "                    {\n",
       "                        var projection = axes[axis_id];\n",
       "                        var local = current.matrixTransform(axis.getScreenCTM().inverse());\n",
       "                        if(inside(local.x, projection))\n",
       "                        {\n",
       "                            var domain = to_domain(local.x, projection);\n",
       "                            coordinates.style.visibility = \"visible\";\n",
       "                            coordinates.setAttribute(\"transform\", \"translate(\" + local.x + \")\");\n",
       "                            var text = coordinates.querySelector(\"text\");\n",
       "                            text.textContent = domain.toFixed(2);\n",
       "                        }\n",
       "                        else\n",
       "                        {\n",
       "                            coordinates.style.visibility= \"hidden\";\n",
       "                        }\n",
       "                    }\n",
       "                }\n",
       "            }\n",
       "\n",
       "            canvas.addEventListener(\"click\", display_coordinates);\n",
       "\n",
       "            var module = {};\n",
       "            module.show_coordinates = function(axis_id, projection)\n",
       "            {\n",
       "                axes[axis_id] = projection;\n",
       "            }\n",
       "\n",
       "            return module;\n",
       "        })(modules[\"toyplot/canvas\"]);\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t26149f32c576467094aaad0ff4287192\",\"data\",\"plot data\",[\"x\", \"y0\"],[[0.0, 0.10101010101010101, 0.20202020202020202, 0.30303030303030304, 0.40404040404040403, 0.5050505050505051, 0.6060606060606061, 0.7070707070707071, 0.8080808080808081, 0.9090909090909091, 1.0101010101010102, 1.1111111111111112, 1.2121212121212122, 1.3131313131313131, 1.4141414141414141, 1.5151515151515151, 1.6161616161616161, 1.7171717171717171, 1.8181818181818181, 1.9191919191919191, 2.0202020202020203, 2.121212121212121, 2.2222222222222223, 2.323232323232323, 2.4242424242424243, 2.525252525252525, 2.6262626262626263, 2.727272727272727, 2.8282828282828283, 2.929292929292929, 3.0303030303030303, 3.131313131313131, 3.2323232323232323, 3.3333333333333335, 3.4343434343434343, 3.5353535353535355, 3.6363636363636362, 3.7373737373737375, 3.8383838383838382, 3.9393939393939394, 4.040404040404041, 4.141414141414141, 4.242424242424242, 4.343434343434343, 4.444444444444445, 4.545454545454545, 4.646464646464646, 4.747474747474747, 4.848484848484849, 4.94949494949495, 5.05050505050505, 5.151515151515151, 5.252525252525253, 5.353535353535354, 5.454545454545454, 5.555555555555555, 5.656565656565657, 5.757575757575758, 5.858585858585858, 5.959595959595959, 6.0606060606060606, 6.161616161616162, 6.262626262626262, 6.363636363636363, 6.4646464646464645, 6.565656565656566, 6.666666666666667, 6.767676767676767, 6.8686868686868685, 6.96969696969697, 7.070707070707071, 7.171717171717171, 7.2727272727272725, 7.373737373737374, 7.474747474747475, 7.575757575757575, 7.6767676767676765, 7.777777777777778, 7.878787878787879, 7.979797979797979, 8.080808080808081, 8.181818181818182, 8.282828282828282, 8.383838383838384, 8.484848484848484, 8.585858585858587, 8.686868686868687, 8.787878787878787, 8.88888888888889, 8.98989898989899, 9.09090909090909, 9.191919191919192, 9.292929292929292, 9.393939393939394, 9.494949494949495, 9.595959595959595, 9.696969696969697, 9.797979797979798, 9.8989898989899, 10.0], [0.0, 0.1008384202581046, 0.2006488565226854, 0.2984138044476411, 0.3931366121483298, 0.48385164043793466, 0.5696341069089657, 0.6496095135057065, 0.7229625614794604, 0.7889454628442574, 0.8468855636029834, 0.8961922010299563, 0.9363627251042848, 0.9669876227092996, 0.9877546923600838, 0.9984522269003895, 0.9989711717233568, 0.9893062365143401, 0.9695559491823237, 0.9399216514301312, 0.9007054462029555, 0.8523071179396753, 0.7952200570230491, 0.7300262299764464, 0.6573902466827755, 0.5780525851065732, 0.4928220425889235, 0.40256749066949654, 0.30820901749007684, 0.2107085480771929, 0.11106003812412972, 0.010279341240534697, -0.09060614703340773, -0.19056796287548539, -0.28858705872043244, -0.38366419180611233, -0.4748301108222395, -0.5611554368152017, -0.6417601376193878, -0.7158224992291902, -0.7825875026542022, -0.8413745208608701, -0.8915842573351402, -0.9327048555318336, -0.9643171169287783, -0.9860987744909296, -0.9978277779792126, -0.9993845576124357, -0.9907532430056771, -0.9720218249588334, -0.9433812584459996, -0.9051235159501367, -0.8576386109880517, -0.8014106221689697, -0.7370127583189134, -0.6651015149788224, -0.586409981847235, -0.5017403693939113, -0.4119558308308628, -0.31797166281061867, -0.22074597455506337, -0.12126992053716677, -0.020557596287260064, 0.08036429967028173, 0.18046693235991093, 0.2787298186775573, 0.37415123057121996, 0.4657584070256517, 0.5526174707464059, 0.6338429484489058, 0.7086067976992182, 0.7761468482835805, 0.8357745720522589, 0.8868821020290788, 0.9289484292312513, 0.9615447140268235, 0.9843386578838236, 0.9970978909438748, 0.9996923408861117, 0.9920955589323228, 0.9743849894755358, 0.9467411805833543, 0.9094459434244626, 0.8628794793817836, 0.8075165041395626, 0.7439214082568444, 0.6727425035622647, 0.5947054140244974, 0.510605678474283, 0.4213006405886069, 0.32770070881349983, 0.23076007532505177, 0.13146698864295842, 0.03083367906114098, -0.07011396040064677, -0.1703468323280965, -0.268843125910384, -0.36459873365588863, -0.45663748763377376, -0.5440211108893699]],\"toyplot\");\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"tafb12ecc862f49a78528864d2167ef37\",\"data\",\"plot data\",[\"x\", \"y0\"],[[0.0, 0.10101010101010101, 0.20202020202020202, 0.30303030303030304, 0.40404040404040403, 0.5050505050505051, 0.6060606060606061, 0.7070707070707071, 0.8080808080808081, 0.9090909090909091, 1.0101010101010102, 1.1111111111111112, 1.2121212121212122, 1.3131313131313131, 1.4141414141414141, 1.5151515151515151, 1.6161616161616161, 1.7171717171717171, 1.8181818181818181, 1.9191919191919191, 2.0202020202020203, 2.121212121212121, 2.2222222222222223, 2.323232323232323, 2.4242424242424243, 2.525252525252525, 2.6262626262626263, 2.727272727272727, 2.8282828282828283, 2.929292929292929, 3.0303030303030303, 3.131313131313131, 3.2323232323232323, 3.3333333333333335, 3.4343434343434343, 3.5353535353535355, 3.6363636363636362, 3.7373737373737375, 3.8383838383838382, 3.9393939393939394, 4.040404040404041, 4.141414141414141, 4.242424242424242, 4.343434343434343, 4.444444444444445, 4.545454545454545, 4.646464646464646, 4.747474747474747, 4.848484848484849, 4.94949494949495, 5.05050505050505, 5.151515151515151, 5.252525252525253, 5.353535353535354, 5.454545454545454, 5.555555555555555, 5.656565656565657, 5.757575757575758, 5.858585858585858, 5.959595959595959, 6.0606060606060606, 6.161616161616162, 6.262626262626262, 6.363636363636363, 6.4646464646464645, 6.565656565656566, 6.666666666666667, 6.767676767676767, 6.8686868686868685, 6.96969696969697, 7.070707070707071, 7.171717171717171, 7.2727272727272725, 7.373737373737374, 7.474747474747475, 7.575757575757575, 7.6767676767676765, 7.777777777777778, 7.878787878787879, 7.979797979797979, 8.080808080808081, 8.181818181818182, 8.282828282828282, 8.383838383838384, 8.484848484848484, 8.585858585858587, 8.686868686868687, 8.787878787878787, 8.88888888888889, 8.98989898989899, 9.09090909090909, 9.191919191919192, 9.292929292929292, 9.393939393939394, 9.494949494949495, 9.595959595959595, 9.696969696969697, 9.797979797979798, 9.8989898989899, 10.0], [1.0, 0.9949028158568303, 0.9796632259996998, 0.9544365884201449, 0.9194800727522776, 0.8751500385908233, 0.82189840263017, 0.7602680316591506, 0.6908872083770674, 0.6144632264484674, 0.5317751800910392, 0.4436660217022285, 0.3510339684920502, 0.25482334572604864, 0.15601495992575853, 0.05561610016580674, -0.04534973060188524, -0.14585324951413534, -0.24486988668507895, -0.3413902300489206, -0.43443031567828566, -0.5230416586748751, -0.6063209223738354, -0.6834191272904033, -0.7535503059294446, -0.815999515227557, -0.8701301249459654, -0.9153903077136358, -0.9513186645587279, -0.9775489285796396, -0.993813698804694, -0.9999471661761239, -0.9958868038686729, -0.981674004711079, -0.9574536592123347, -0.9234726784944765, -0.8800774771896732, -0.8277104419618857, -0.7669054216542901, -0.69828228503756, -0.6225406016393301, -0.5404525100747903, -0.45285484658127084, -0.36064061400144803, -0.2647498781834829, -0.16616018460355267, -0.06587659290724678, 0.035078569038604845, 0.13567612713271912, 0.23489055281917826, 0.33171041770321597, 0.42514870442477243, 0.5142528686769626, 0.5981145497935533, 0.6758788309121295, 0.7467529543114477, 0.810014403075603, 0.865018266697566, 0.9112038155344026, 0.9481002170917641, 0.9753313358637337, 0.9926195677967009, 0.9997886702873213, 0.9967655588645231, 0.983581052239521, 0.9603695581285238, 0.9273677030509753, 0.8849119200716687, 0.8334350190781794, 0.7734617745574747, 0.7056035758515253, 0.6305521944291881, 0.5490727317130796, 0.4619958193539013, 0.3702091514654803, 0.2746484351440477, 0.17628785152548898, 0.07613012462407193, -0.02480370080544784, -0.12548466817409182, -0.22488639862108173, -0.321995554297938, -0.4158221687077172, -0.5054097387880672, -0.5898449758557073, -0.6682671160076287, -0.7398766950653171, -0.8039436986070301, -0.859815004003662, -0.9069210385913591, -0.9447815861050266, -0.973010682179788, -0.9913205490138658, -0.9995245290814802, -0.9975389879884077, -0.9853841670717991, -0.9631839770525324, -0.9311647348436916, -0.8896528563926016, -0.8390715290764524]],\"toyplot\");\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"tc8f2832346044d6bb492d1c65f7eae68\",\"data\",\"plot data\",[\"x\", \"y0\"],[[0.0, 0.10101010101010101, 0.20202020202020202, 0.30303030303030304, 0.40404040404040403, 0.5050505050505051, 0.6060606060606061, 0.7070707070707071, 0.8080808080808081, 0.9090909090909091, 1.0101010101010102, 1.1111111111111112, 1.2121212121212122, 1.3131313131313131, 1.4141414141414141, 1.5151515151515151, 1.6161616161616161, 1.7171717171717171, 1.8181818181818181, 1.9191919191919191, 2.0202020202020203, 2.121212121212121, 2.2222222222222223, 2.323232323232323, 2.4242424242424243, 2.525252525252525, 2.6262626262626263, 2.727272727272727, 2.8282828282828283, 2.929292929292929, 3.0303030303030303, 3.131313131313131, 3.2323232323232323, 3.3333333333333335, 3.4343434343434343, 3.5353535353535355, 3.6363636363636362, 3.7373737373737375, 3.8383838383838382, 3.9393939393939394, 4.040404040404041, 4.141414141414141, 4.242424242424242, 4.343434343434343, 4.444444444444445, 4.545454545454545, 4.646464646464646, 4.747474747474747, 4.848484848484849, 4.94949494949495, 5.05050505050505, 5.151515151515151, 5.252525252525253, 5.353535353535354, 5.454545454545454, 5.555555555555555, 5.656565656565657, 5.757575757575758, 5.858585858585858, 5.959595959595959, 6.0606060606060606, 6.161616161616162, 6.262626262626262, 6.363636363636363, 6.4646464646464645, 6.565656565656566, 6.666666666666667, 6.767676767676767, 6.8686868686868685, 6.96969696969697, 7.070707070707071, 7.171717171717171, 7.2727272727272725, 7.373737373737374, 7.474747474747475, 7.575757575757575, 7.6767676767676765, 7.777777777777778, 7.878787878787879, 7.979797979797979, 8.080808080808081, 8.181818181818182, 8.282828282828282, 8.383838383838384, 8.484848484848484, 8.585858585858587, 8.686868686868687, 8.787878787878787, 8.88888888888889, 8.98989898989899, 9.09090909090909, 9.191919191919192, 9.292929292929292, 9.393939393939394, 9.494949494949495, 9.595959595959595, 9.696969696969697, 9.797979797979798, 9.8989898989899, 10.0], [1.0, 1.0957412361149348, 1.1803120825223852, 1.2528503928677859, 1.3126166849006073, 1.359001679028758, 1.3915325095391355, 1.409877545164857, 1.4138497698565278, 1.4034086892927249, 1.3786607436940226, 1.339858222732185, 1.287396693596335, 1.2218109684353482, 1.1437696522858425, 1.0540683270661961, 0.9536214411214716, 0.8434529870002048, 0.7246860624972448, 0.5985314213812105, 0.4662751305246698, 0.3292654592648002, 0.1888991346492137, 0.04660710268604307, -0.09616005924666915, -0.23794693012098378, -0.37730808235704194, -0.5128228170441393, -0.643109647068651, -0.7668403805024467, -0.8827536606805643, -0.9896678249355892, -1.0864929509020806, -1.1722419675865643, -1.2460407179327673, -1.3071368703005888, -1.3549075880119128, -1.3888658787770876, -1.4086655592736779, -1.4141047842667502, -1.4051281042935324, -1.3818270309356604, -1.344439103916411, -1.2933454695332816, -1.2290669951122613, -1.1522589590944823, -1.0637043708864593, -0.9643059885738309, -0.855077115872958, -0.7371312721396551, -0.6116708407427837, -0.4799748115253643, -0.3433857423110891, -0.20329607237541647, -0.06113392740678392, 0.08165143933262531, 0.223604421228368, 0.3632778973036547, 0.49924798470353976, 0.6301285542811454, 0.7545853613086703, 0.8713496472595341, 0.9792310740000613, 1.0771298585348048, 1.1640479845994318, 1.239099376806081, 1.3015189336221953, 1.3506703270973204, 1.3860524898245852, 1.4073047230063804, 1.4142103735507434, 1.4066990427127686, 1.3848473037653384, 1.34887792138298, 1.2991575806967317, 1.2361931491708713, 1.1606265094093127, 1.0732280155679468, 0.9748886400806639, 0.8666108907582311, 0.749498590854454, 0.6247456262854163, 0.4936237747167454, 0.3574697405937164, 0.21767152828385528, 0.07565429224921572, -0.06713419150305233, -0.20923828458253269, -0.349209325529379, -0.4856203980027522, -0.6170808772915268, -0.7422506068547363, -0.8598535603709074, -0.9686908500203392, -1.0676529483890544, -1.1557309993998957, -1.2320271029629164, -1.2957634684995802, -1.3462903440263754, -1.3830926399658223]],\"toyplot\");\n",
       "(function(axis, axis_id, projection)\n",
       "        {\n",
       "            axis.show_coordinates(axis_id, projection);\n",
       "        })(modules[\"toyplot.coordinates.Axis\"],\"t1962470147704c1da188f7ffa73f08e4\",[{\"domain\": {\"bounds\": {\"max\": Infinity, \"min\": -Infinity}, \"max\": 10.0, \"min\": 0.0}, \"range\": {\"bounds\": {\"max\": Infinity, \"min\": -Infinity}, \"max\": 500.0, \"min\": 0.0}, \"scale\": \"linear\"}]);\n",
       "(function(axis, axis_id, projection)\n",
       "        {\n",
       "            axis.show_coordinates(axis_id, projection);\n",
       "        })(modules[\"toyplot.coordinates.Axis\"],\"tfaedd91737e249709c2459ac7a3e463b\",[{\"domain\": {\"bounds\": {\"max\": Infinity, \"min\": -Infinity}, \"max\": 1.4142103735507434, \"min\": -1.4141047842667502}, \"range\": {\"bounds\": {\"max\": Infinity, \"min\": -Infinity}, \"max\": 200.0, \"min\": 0.0}, \"scale\": \"linear\"}]);\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "source": [
    "import toyplot.color\n",
    "toyplot.color.rgb(1, 0, 0)"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "array((1., 0., 0., 1.),\n",
       "      dtype=[('r', '<f8'), ('g', '<f8'), ('b', '<f8'), ('a', '<f8')])"
      ],
      "text/html": [
       "<div class=\"toyplot-color-Swatch\" style=\"overflow:hidden; height:auto\"><div style=\"float:left;width:20px;height:20px;margin-right:0px;background-color:rgba(100.0%,0.0%,0.0%,1.000)\"></div></div>"
      ]
     },
     "metadata": {},
     "execution_count": 5
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "source": [
    "numpy.random.seed(1234)\n",
    "toyplot.scatterplot(numpy.random.normal(size=50), width=300);"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"t52dfd751bf0a4f1694f94669c6c4c064\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"300.0px\" id=\"tbf6fa0ebc3214709b8b1403d7856e31e\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 300.0 300.0\" width=\"300.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"t6656ea7bd17849ac92cb967aec931807\"><clipPath id=\"t4703ad9223cf4ce6882cad202c94c483\"><rect height=\"220.0\" width=\"220.0\" x=\"40.0\" y=\"40.0\"></rect></clipPath><g clip-path=\"url(#t4703ad9223cf4ce6882cad202c94c483)\"><g class=\"toyplot-mark-Point\" id=\"t8099a893bc3a455ebfffc7fb964b4fba\"><g class=\"toyplot-Series\"><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(50.0, 132.85162791602949)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(54.0, 204.60553612191933)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(58.0, 91.36067609461023)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(62.0, 166.69483257897474)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(66.0, 184.30243074095708)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(70.0, 114.90775286998338)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(74.0, 116.09794002482474)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(78.0, 180.67396026351935)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(82.0, 152.52248079432022)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(86.0, 250.0)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(90.0, 103.56149057460654)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(94.0, 110.38504681828844)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(98.0, 112.05206664029386)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(102.0, 240.44250858461834)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(106.0, 167.61961069835075)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(110.0, 153.10854235297342)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(114.0, 135.69956924406154)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(118.0, 140.72202818496902)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(122.0, 96.17540682994098)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(126.0, 219.96837994992504)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(130.0, 161.94671051469098)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(134.0, 181.51329248472445)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(138.0, 144.85141465341349)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(142.0, 129.31213626689947)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(146.0, 96.3051810204328)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(150.0, 173.4563938438711)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(154.0, 124.04133275094105)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(158.0, 231.62752284854872)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(162.0, 161.103409723633)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(166.0, 107.49215543643837)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(170.0, 170.37177906382271)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(174.0, 138.63530346894945)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(178.0, 107.98380352445203)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(182.0, 108.05460381661081)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(186.0, 115.91972708236)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(190.0, 158.46976130443468)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(194.0, 147.8170460618672)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(198.0, 167.13262651824013)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(202.0, 116.87114120469981)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(206.0, 50.0)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(210.0, 149.9110071233577)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(214.0, 177.6492327822557)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(218.0, 151.63999788950724)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(222.0, 242.76132131411853)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(226.0, 142.50463073848817)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(230.0, 191.9235598165954)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(234.0, 159.10439157599882)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(238.0, 152.4105680788665)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(242.0, 120.59437515356517)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(246.0, 143.90843338122988)\"><circle r=\"2.0\"></circle></g></g></g></g><g class=\"toyplot-coordinates-Axis\" id=\"t26d0b9903c724d2797b5243af19aeb73\" transform=\"translate(50.0,250.0)translate(0,10.0)\"><line style=\"\" x1=\"0\" x2=\"196.0\" y1=\"0\" y2=\"0\"></line><g><g transform=\"translate(0.0,6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-2.78\" y=\"8.555\">0</text></g><g transform=\"translate(40.0,6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-5.56\" y=\"8.555\">10</text></g><g transform=\"translate(80.0,6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-5.56\" y=\"8.555\">20</text></g><g transform=\"translate(120.0,6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-5.56\" y=\"8.555\">30</text></g><g transform=\"translate(160.0,6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-5.56\" y=\"8.555\">40</text></g><g transform=\"translate(200.0,6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-5.56\" y=\"8.555\">50</text></g></g><g class=\"toyplot-coordinates-Axis-coordinates\" style=\"visibility:hidden\" transform=\"\"><line style=\"stroke:rgb(43.9%,50.2%,56.5%);stroke-opacity:1.0;stroke-width:1.0\" x1=\"0\" x2=\"0\" y1=\"-3.0\" y2=\"4.5\"></line><text style=\"alignment-baseline:alphabetic;fill:rgb(43.9%,50.2%,56.5%);fill-opacity:1.0;font-size:10px;font-weight:normal;stroke:none;text-anchor:middle\" x=\"0\" y=\"-6\"></text></g></g><g class=\"toyplot-coordinates-Axis\" id=\"tf502d81876b646449d3b103a9966efaa\" transform=\"translate(50.0,250.0)rotate(-90.0)translate(0,-10.0)\"><line style=\"\" x1=\"0\" x2=\"200.0\" y1=\"0\" y2=\"0\"></line><g><g transform=\"translate(10.474903864572891,-6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-4.445\" y=\"-4.440892098500626e-16\">-2</text></g><g transform=\"translate(96.80002360454914,-6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-2.78\" y=\"-4.440892098500626e-16\">0</text></g><g transform=\"translate(183.12514334452538,-6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-2.78\" y=\"-4.440892098500626e-16\">2</text></g></g><g class=\"toyplot-coordinates-Axis-coordinates\" style=\"visibility:hidden\" transform=\"\"><line style=\"stroke:rgb(43.9%,50.2%,56.5%);stroke-opacity:1.0;stroke-width:1.0\" x1=\"0\" x2=\"0\" y1=\"3.0\" y2=\"-4.5\"></line><text style=\"alignment-baseline:hanging;fill:rgb(43.9%,50.2%,56.5%);fill-opacity:1.0;font-size:10px;font-weight:normal;stroke:none;text-anchor:middle\" x=\"0\" y=\"6\"></text></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"t52dfd751bf0a4f1694f94669c6c4c064\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"tbf6fa0ebc3214709b8b1403d7856e31e\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot.coordinates.Axis\"] = (\n",
       "        function(canvas)\n",
       "        {\n",
       "            function sign(x)\n",
       "            {\n",
       "                return x < 0 ? -1 : x > 0 ? 1 : 0;\n",
       "            }\n",
       "\n",
       "            function mix(a, b, amount)\n",
       "            {\n",
       "                return ((1.0 - amount) * a) + (amount * b);\n",
       "            }\n",
       "\n",
       "            function log(x, base)\n",
       "            {\n",
       "                return Math.log(Math.abs(x)) / Math.log(base);\n",
       "            }\n",
       "\n",
       "            function in_range(a, x, b)\n",
       "            {\n",
       "                var left = Math.min(a, b);\n",
       "                var right = Math.max(a, b);\n",
       "                return left <= x && x <= right;\n",
       "            }\n",
       "\n",
       "            function inside(range, projection)\n",
       "            {\n",
       "                for(var i = 0; i != projection.length; ++i)\n",
       "                {\n",
       "                    var segment = projection[i];\n",
       "                    if(in_range(segment.range.min, range, segment.range.max))\n",
       "                        return true;\n",
       "                }\n",
       "                return false;\n",
       "            }\n",
       "\n",
       "            function to_domain(range, projection)\n",
       "            {\n",
       "                for(var i = 0; i != projection.length; ++i)\n",
       "                {\n",
       "                    var segment = projection[i];\n",
       "                    if(in_range(segment.range.bounds.min, range, segment.range.bounds.max))\n",
       "                    {\n",
       "                        if(segment.scale == \"linear\")\n",
       "                        {\n",
       "                            var amount = (range - segment.range.min) / (segment.range.max - segment.range.min);\n",
       "                            return mix(segment.domain.min, segment.domain.max, amount)\n",
       "                        }\n",
       "                        else if(segment.scale[0] == \"log\")\n",
       "                        {\n",
       "                            var amount = (range - segment.range.min) / (segment.range.max - segment.range.min);\n",
       "                            var base = segment.scale[1];\n",
       "                            return sign(segment.domain.min) * Math.pow(base, mix(log(segment.domain.min, base), log(segment.domain.max, base), amount));\n",
       "                        }\n",
       "                    }\n",
       "                }\n",
       "            }\n",
       "\n",
       "            var axes = {};\n",
       "\n",
       "            function display_coordinates(e)\n",
       "            {\n",
       "                var current = canvas.createSVGPoint();\n",
       "                current.x = e.clientX;\n",
       "                current.y = e.clientY;\n",
       "\n",
       "                for(var axis_id in axes)\n",
       "                {\n",
       "                    var axis = document.querySelector(\"#\" + axis_id);\n",
       "                    var coordinates = axis.querySelector(\".toyplot-coordinates-Axis-coordinates\");\n",
       "                    if(coordinates)\n",
       "                    {\n",
       "                        var projection = axes[axis_id];\n",
       "                        var local = current.matrixTransform(axis.getScreenCTM().inverse());\n",
       "                        if(inside(local.x, projection))\n",
       "                        {\n",
       "                            var domain = to_domain(local.x, projection);\n",
       "                            coordinates.style.visibility = \"visible\";\n",
       "                            coordinates.setAttribute(\"transform\", \"translate(\" + local.x + \")\");\n",
       "                            var text = coordinates.querySelector(\"text\");\n",
       "                            text.textContent = domain.toFixed(2);\n",
       "                        }\n",
       "                        else\n",
       "                        {\n",
       "                            coordinates.style.visibility= \"hidden\";\n",
       "                        }\n",
       "                    }\n",
       "                }\n",
       "            }\n",
       "\n",
       "            canvas.addEventListener(\"click\", display_coordinates);\n",
       "\n",
       "            var module = {};\n",
       "            module.show_coordinates = function(axis_id, projection)\n",
       "            {\n",
       "                axes[axis_id] = projection;\n",
       "            }\n",
       "\n",
       "            return module;\n",
       "        })(modules[\"toyplot/canvas\"]);\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t8099a893bc3a455ebfffc7fb964b4fba\",\"data\",\"point\",[\"x\", \"y0\"],[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49], [0.47143516373249306, -1.1909756947064645, 1.4327069684260973, -0.3126518960917129, -0.7205887333650116, 0.8871629403077386, 0.8595884137174165, -0.6365235044173491, 0.015696372114428918, -2.2426849541854055, 1.150035724719818, 0.9919460223426778, 0.9533241281124304, -2.0212548201949705, -0.334077365808097, 0.002118364683486495, 0.405453411570191, 0.2890919409800353, 1.3211581921293856, -1.5469055532292402, -0.2026463246291819, -0.6559693441389339, 0.19342137647035826, 0.5534389109567419, 1.3181515541801367, -0.4693052847058996, 0.6755540851223808, -1.8170272265901968, -0.1831085401789987, 1.0589691875711504, -0.3978402281999914, 0.3374376536139724, 1.0475785728927218, 1.0459382556276653, 0.8637172916848387, -0.12209157484767426, 0.12471295376821585, -0.32279480560829565, 0.8416747129961416, 2.390960515463033, 0.07619958783723642, -0.5664459304649568, 0.036141936684072715, -2.0749776006900293, 0.24779219974854666, -0.8971567844396987, -0.1367948332613474, 0.018289191349219306, 0.7554139823981354, 0.2152685809694434]],\"toyplot\");\n",
       "(function(axis, axis_id, projection)\n",
       "        {\n",
       "            axis.show_coordinates(axis_id, projection);\n",
       "        })(modules[\"toyplot.coordinates.Axis\"],\"t26d0b9903c724d2797b5243af19aeb73\",[{\"domain\": {\"bounds\": {\"max\": Infinity, \"min\": -Infinity}, \"max\": 50.0, \"min\": 0.0}, \"range\": {\"bounds\": {\"max\": Infinity, \"min\": -Infinity}, \"max\": 200.0, \"min\": 0.0}, \"scale\": \"linear\"}]);\n",
       "(function(axis, axis_id, projection)\n",
       "        {\n",
       "            axis.show_coordinates(axis_id, projection);\n",
       "        })(modules[\"toyplot.coordinates.Axis\"],\"tf502d81876b646449d3b103a9966efaa\",[{\"domain\": {\"bounds\": {\"max\": Infinity, \"min\": -Infinity}, \"max\": 2.390960515463033, \"min\": -2.2426849541854055}, \"range\": {\"bounds\": {\"max\": Infinity, \"min\": -Infinity}, \"max\": 200.0, \"min\": 0.0}, \"scale\": \"linear\"}]);\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "source": [
    "toyplot.matrix(numpy.random.normal(size=(10, 10)), width=300)"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "(<toyplot.canvas.Canvas at 0x7fac96875d10>,\n",
       " <toyplot.coordinates.Table at 0x7fac96875dd0>)"
      ]
     },
     "metadata": {},
     "execution_count": 8
    },
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"t5b73cee227cd441f9b99a4a2c03bf871\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"300.0px\" id=\"t9d7e025459e94bd58ae12b6b4f6fa232\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 300.0 300.0\" width=\"300.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Table\" id=\"t5832816de502417e896b1839d89c8b8c\"><g transform=\"translate(96.0,80.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">0</text></g><g transform=\"translate(108.0,80.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">1</text></g><g transform=\"translate(120.0,80.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">2</text></g><g transform=\"translate(132.0,80.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">3</text></g><g transform=\"translate(144.0,80.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">4</text></g><g transform=\"translate(156.0,80.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">5</text></g><g transform=\"translate(168.0,80.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">6</text></g><g transform=\"translate(180.0,80.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">7</text></g><g transform=\"translate(192.0,80.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">8</text></g><g transform=\"translate(204.0,80.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">9</text></g><g transform=\"translate(85.0,96.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">0</text></g><rect height=\"12.0\" style=\"fill:rgb(97.8%,92.7%,89.7%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"90.0\" y=\"90.0\"><title>0.496143</title></rect><rect height=\"12.0\" style=\"fill:rgb(99.2%,85.9%,78.1%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"102.0\" y=\"90.0\"><title>0.796595</title></rect><rect height=\"12.0\" style=\"fill:rgb(67.3%,82.4%,89.9%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"114.0\" y=\"90.0\"><title>-0.474021</title></rect><rect height=\"12.0\" style=\"fill:rgb(85.8%,91.6%,94.8%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"126.0\" y=\"90.0\"><title>-0.056696</title></rect><rect height=\"12.0\" style=\"fill:rgb(94.1%,61%,48.1%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"138.0\" y=\"90.0\"><title>1.357797</title></rect><rect height=\"12.0\" style=\"fill:rgb(49%,72%,84.2%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"150.0\" y=\"90.0\"><title>-0.804834</title></rect><rect height=\"12.0\" style=\"fill:rgb(2.5%,19.9%,39.5%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"162.0\" y=\"90.0\"><title>-2.123620</title></rect><rect height=\"12.0\" style=\"fill:rgb(74.4%,86%,92%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"174.0\" y=\"90.0\"><title>-0.333502</title></rect><rect height=\"12.0\" style=\"fill:rgb(43.9%,68.8%,82.5%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"186.0\" y=\"90.0\"><title>-0.886719</title></rect><rect height=\"12.0\" style=\"fill:rgb(97%,96.3%,95.9%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"198.0\" y=\"90.0\"><title>0.334198</title></rect><g transform=\"translate(85.0,108.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">1</text></g><rect height=\"12.0\" style=\"fill:rgb(98%,91.7%,88.1%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"90.0\" y=\"102.0\"><title>0.536784</title></rect><rect height=\"12.0\" style=\"fill:rgb(52.9%,74.5%,85.6%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"102.0\" y=\"102.0\"><title>-0.743830</title></rect><rect height=\"12.0\" style=\"fill:rgb(75.1%,86.3%,92.1%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"114.0\" y=\"102.0\"><title>-0.320204</title></rect><rect height=\"12.0\" style=\"fill:rgb(42%,67.6%,81.8%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"126.0\" y=\"102.0\"><title>-0.916199</title></rect><rect height=\"12.0\" style=\"fill:rgb(45.6%,69.9%,83.1%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"138.0\" y=\"102.0\"><title>-0.859668</title></rect><rect height=\"12.0\" style=\"fill:rgb(94.4%,95.7%,96.4%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"150.0\" y=\"102.0\"><title>0.225985</title></rect><rect height=\"12.0\" style=\"fill:rgb(98.4%,89.7%,84.6%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"162.0\" y=\"102.0\"><title>0.628776</title></rect><rect height=\"12.0\" style=\"fill:rgb(93.2%,95.1%,96.2%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"174.0\" y=\"102.0\"><title>0.186494</title></rect><rect height=\"12.0\" style=\"fill:rgb(98.1%,79.3%,69.6%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"186.0\" y=\"102.0\"><title>0.952478</title></rect><rect height=\"12.0\" style=\"fill:rgb(97.9%,77.7%,67.6%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"198.0\" y=\"102.0\"><title>0.988138</title></rect><g transform=\"translate(85.0,120.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">2</text></g><rect height=\"12.0\" style=\"fill:rgb(85.3%,91.4%,94.7%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"90.0\" y=\"114.0\"><title>-0.072608</title></rect><rect height=\"12.0\" style=\"fill:rgb(63.5%,80.4%,88.8%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"102.0\" y=\"114.0\"><title>-0.550603</title></rect><rect height=\"12.0\" style=\"fill:rgb(40.6%,66.7%,81.4%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"114.0\" y=\"114.0\"><title>-0.938153</title></rect><rect height=\"12.0\" style=\"fill:rgb(24.3%,55%,75.1%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"126.0\" y=\"114.0\"><title>-1.239072</title></rect><rect height=\"12.0\" style=\"fill:rgb(91.8%,94.4%,95.9%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"138.0\" y=\"114.0\"><title>0.139683</title></rect><rect height=\"12.0\" style=\"fill:rgb(80%,88.8%,93.5%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"150.0\" y=\"114.0\"><title>-0.223019</title></rect><rect height=\"12.0\" style=\"fill:rgb(74.1%,18%,20.9%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"162.0\" y=\"114.0\"><title>2.123692</title></rect><rect height=\"12.0\" style=\"fill:rgb(91.2%,94.2%,95.8%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"174.0\" y=\"114.0\"><title>0.122273</title></rect><rect height=\"12.0\" style=\"fill:rgb(19.7%,48.9%,72%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"186.0\" y=\"114.0\"><title>-1.409432</title></rect><rect height=\"12.0\" style=\"fill:rgb(92.5%,57.4%,45.4%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"198.0\" y=\"114.0\"><title>1.422986</title></rect><g transform=\"translate(85.0,132.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">3</text></g><rect height=\"12.0\" style=\"fill:rgb(2%,18.8%,38%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"90.0\" y=\"126.0\"><title>-2.147855</title></rect><rect height=\"12.0\" style=\"fill:rgb(21.3%,51.1%,73.1%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"102.0\" y=\"126.0\"><title>-1.347533</title></rect><rect height=\"12.0\" style=\"fill:rgb(97.1%,95.6%,94.7%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"114.0\" y=\"126.0\"><title>0.363565</title></rect><rect height=\"12.0\" style=\"fill:rgb(87.1%,92.2%,95.1%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"126.0\" y=\"126.0\"><title>-0.014752</title></rect><rect height=\"12.0\" style=\"fill:rgb(95.8%,65.5%,52%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"138.0\" y=\"126.0\"><title>1.272395</title></rect><rect height=\"12.0\" style=\"fill:rgb(18.6%,47.4%,71.3%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"150.0\" y=\"126.0\"><title>-1.449567</title></rect><rect height=\"12.0\" style=\"fill:rgb(25.5%,56.6%,75.9%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"162.0\" y=\"126.0\"><title>-1.195524</title></rect><rect height=\"12.0\" style=\"fill:rgb(61.4%,79.4%,88.2%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"174.0\" y=\"126.0\"><title>-0.591863</title></rect><rect height=\"12.0\" style=\"fill:rgb(70.3%,83.9%,90.8%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"186.0\" y=\"126.0\"><title>-0.414505</title></rect><rect height=\"12.0\" style=\"fill:rgb(19.2%,48.3%,71.7%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"198.0\" y=\"126.0\"><title>-1.425795</title></rect><g transform=\"translate(85.0,144.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">4</text></g><rect height=\"12.0\" style=\"fill:rgb(93.9%,95.4%,96.3%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"90.0\" y=\"138.0\"><title>0.209395</title></rect><rect height=\"12.0\" style=\"fill:rgb(61.4%,79.3%,88.2%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"102.0\" y=\"138.0\"><title>-0.592886</title></rect><rect height=\"12.0\" style=\"fill:rgb(17.9%,46.6%,70.8%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"114.0\" y=\"138.0\"><title>-1.473116</title></rect><rect height=\"12.0\" style=\"fill:rgb(43.2%,68.4%,82.3%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"126.0\" y=\"138.0\"><title>-0.896581</title></rect><rect height=\"12.0\" style=\"fill:rgb(97%,72.7%,61.2%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"138.0\" y=\"138.0\"><title>1.104352</title></rect><rect height=\"12.0\" style=\"fill:rgb(69.5%,83.5%,90.5%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"150.0\" y=\"138.0\"><title>-0.431550</title></rect><rect height=\"12.0\" style=\"fill:rgb(82.6%,90.1%,94.2%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"162.0\" y=\"138.0\"><title>-0.161137</title></rect><rect height=\"12.0\" style=\"fill:rgb(98.6%,82%,73.1%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"174.0\" y=\"138.0\"><title>0.889157</title></rect><rect height=\"12.0\" style=\"fill:rgb(96.3%,96.6%,96.8%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"186.0\" y=\"138.0\"><title>0.288377</title></rect><rect height=\"12.0\" style=\"fill:rgb(33.5%,62.2%,78.9%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"198.0\" y=\"138.0\"><title>-1.051539</title></rect><g transform=\"translate(85.0,156.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">5</text></g><rect height=\"12.0\" style=\"fill:rgb(75.1%,86.3%,92.2%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"90.0\" y=\"150.0\"><title>-0.319561</title></rect><rect height=\"12.0\" style=\"fill:rgb(60%,78.6%,87.8%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"102.0\" y=\"150.0\"><title>-0.619993</title></rect><rect height=\"12.0\" style=\"fill:rgb(92.3%,94.7%,96%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"114.0\" y=\"150.0\"><title>0.156998</title></rect><rect height=\"12.0\" style=\"fill:rgb(62.4%,79.9%,88.5%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"126.0\" y=\"150.0\"><title>-0.571455</title></rect><rect height=\"12.0\" style=\"fill:rgb(97.4%,74.7%,63.8%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"138.0\" y=\"150.0\"><title>1.057633</title></rect><rect height=\"12.0\" style=\"fill:rgb(49.9%,72.6%,84.5%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"150.0\" y=\"150.0\"><title>-0.791489</title></rect><rect height=\"12.0\" style=\"fill:rgb(64.8%,81.1%,89.2%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"162.0\" y=\"150.0\"><title>-0.524627</title></rect><rect height=\"12.0\" style=\"fill:rgb(89.7%,93.5%,95.5%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"174.0\" y=\"150.0\"><title>0.071878</title></rect><rect height=\"12.0\" style=\"fill:rgb(80.2%,30.2%,26.7%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"186.0\" y=\"150.0\"><title>1.910759</title></rect><rect height=\"12.0\" style=\"fill:rgb(99.2%,86.1%,78.5%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"198.0\" y=\"150.0\"><title>0.787965</title></rect><g transform=\"translate(85.0,168.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">6</text></g><rect height=\"12.0\" style=\"fill:rgb(97.8%,92.3%,89%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"90.0\" y=\"162.0\"><title>0.513082</title></rect><rect height=\"12.0\" style=\"fill:rgb(63.7%,80.5%,88.9%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"102.0\" y=\"162.0\"><title>-0.546416</title></rect><rect height=\"12.0\" style=\"fill:rgb(97.5%,75.3%,64.6%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"114.0\" y=\"162.0\"><title>1.043945</title></rect><rect height=\"12.0\" style=\"fill:rgb(74.5%,18.9%,21.3%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"126.0\" y=\"162.0\"><title>2.107785</title></rect><rect height=\"12.0\" style=\"fill:rgb(91.6%,55.4%,43.8%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"138.0\" y=\"162.0\"><title>1.459927</title></rect><rect height=\"12.0\" style=\"fill:rgb(97.7%,76.6%,66.1%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"150.0\" y=\"162.0\"><title>1.015405</title></rect><rect height=\"12.0\" style=\"fill:rgb(99%,87%,80%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"162.0\" y=\"162.0\"><title>0.749185</title></rect><rect height=\"12.0\" style=\"fill:rgb(57.2%,77.2%,87%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"174.0\" y=\"162.0\"><title>-0.675521</title></rect><rect height=\"12.0\" style=\"fill:rgb(97.5%,93.9%,91.8%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"186.0\" y=\"162.0\"><title>0.440266</title></rect><rect height=\"12.0\" style=\"fill:rgb(98.7%,88.3%,82.3%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"198.0\" y=\"162.0\"><title>0.688972</title></rect><g transform=\"translate(85.0,180.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">7</text></g><rect height=\"12.0\" style=\"fill:rgb(77.3%,87.4%,92.8%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"90.0\" y=\"174.0\"><title>-0.276646</title></rect><rect height=\"12.0\" style=\"fill:rgb(79.8%,29.4%,26.3%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"102.0\" y=\"174.0\"><title>1.924533</title></rect><rect height=\"12.0\" style=\"fill:rgb(97.4%,94.6%,92.9%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"114.0\" y=\"174.0\"><title>0.411204</title></rect><rect height=\"12.0\" style=\"fill:rgb(98.6%,81.9%,73%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"126.0\" y=\"174.0\"><title>0.890765</title></rect><rect height=\"12.0\" style=\"fill:rgb(94.4%,95.7%,96.4%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"138.0\" y=\"174.0\"><title>0.226363</title></rect><rect height=\"12.0\" style=\"fill:rgb(3.5%,21.8%,42.2%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"150.0\" y=\"174.0\"><title>-2.078618</title></rect><rect height=\"12.0\" style=\"fill:rgb(71.7%,84.6%,91.2%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"162.0\" y=\"174.0\"><title>-0.387886</title></rect><rect height=\"12.0\" style=\"fill:rgb(84.9%,91.2%,94.7%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"174.0\" y=\"174.0\"><title>-0.087107</title></rect><rect height=\"12.0\" style=\"fill:rgb(96.9%,71.8%,60%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"186.0\" y=\"174.0\"><title>1.126386</title></rect><rect height=\"12.0\" style=\"fill:rgb(95%,96%,96.5%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"198.0\" y=\"174.0\"><title>0.247112</title></rect><g transform=\"translate(85.0,192.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">8</text></g><rect height=\"12.0\" style=\"fill:rgb(91.2%,94.2%,95.8%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"90.0\" y=\"186.0\"><title>0.121172</title></rect><rect height=\"12.0\" style=\"fill:rgb(96.6%,96.7%,96.8%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"102.0\" y=\"186.0\"><title>0.298984</title></rect><rect height=\"12.0\" style=\"fill:rgb(82.8%,90.2%,94.3%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"114.0\" y=\"186.0\"><title>-0.157099</title></rect><rect height=\"12.0\" style=\"fill:rgb(53.1%,74.6%,85.6%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"126.0\" y=\"186.0\"><title>-0.740469</title></rect><rect height=\"12.0\" style=\"fill:rgb(24%,54.7%,75%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"138.0\" y=\"186.0\"><title>-1.247653</title></rect><rect height=\"12.0\" style=\"fill:rgb(95.1%,96%,96.5%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"150.0\" y=\"186.0\"><title>0.249455</title></rect><rect height=\"12.0\" style=\"fill:rgb(98.2%,90.8%,86.4%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"162.0\" y=\"186.0\"><title>0.581073</title></rect><rect height=\"12.0\" style=\"fill:rgb(40.4%,0%,12.2%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"174.0\" y=\"186.0\"><title>2.763844</title></rect><rect height=\"12.0\" style=\"fill:rgb(97.3%,94.8%,93.4%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"186.0\" y=\"186.0\"><title>0.399325</title></rect><rect height=\"12.0\" style=\"fill:rgb(98.6%,88.8%,83%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"198.0\" y=\"186.0\"><title>0.668488</title></rect><g transform=\"translate(85.0,204.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">9</text></g><rect height=\"12.0\" style=\"fill:rgb(77.3%,87.4%,92.8%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"90.0\" y=\"198.0\"><title>-0.275774</title></rect><rect height=\"12.0\" style=\"fill:rgb(97.8%,92.6%,89.5%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"102.0\" y=\"198.0\"><title>0.500483</title></rect><rect height=\"12.0\" style=\"fill:rgb(98.8%,83.1%,74.5%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"114.0\" y=\"198.0\"><title>0.863065</title></rect><rect height=\"12.0\" style=\"fill:rgb(33.5%,62.2%,78.9%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"126.0\" y=\"198.0\"><title>-1.051628</title></rect><rect height=\"12.0\" style=\"fill:rgb(20.1%,49.5%,72.3%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"138.0\" y=\"198.0\"><title>-1.392054</title></rect><rect height=\"12.0\" style=\"fill:rgb(96.7%,70.6%,58.5%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"150.0\" y=\"198.0\"><title>1.153922</title></rect><rect height=\"12.0\" style=\"fill:rgb(96.5%,69.4%,57%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"162.0\" y=\"198.0\"><title>1.181944</title></rect><rect height=\"12.0\" style=\"fill:rgb(97.3%,95%,93.7%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"174.0\" y=\"198.0\"><title>0.391371</title></rect><rect height=\"12.0\" style=\"fill:rgb(44.2%,69%,82.6%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"186.0\" y=\"198.0\"><title>-0.881047</title></rect><rect height=\"12.0\" style=\"fill:rgb(96.5%,96.7%,96.8%);fill-opacity:1.0;stroke:none\" width=\"12.0\" x=\"198.0\" y=\"198.0\"><title>0.295080</title></rect></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"t5b73cee227cd441f9b99a4a2c03bf871\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"t9d7e025459e94bd58ae12b6b4f6fa232\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t5832816de502417e896b1839d89c8b8c\",\"data\",\"table data\",[null, null, null, null, null, null, null, null, null, null, null, null, null, null],[[null, null, null, null, null, null, null, null, null, null, null, null, null], [null, \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", null, null], [\"0\", 0.4961429262475947, 0.5367838249027502, -0.07260831396267549, -2.14785503764361, 0.2093947875359238, -0.31956139984023146, 0.5130821444669919, -0.2766461272769873, 0.1211718053315409, -0.2757737286563052, null, null], [\"1\", 0.7965948666649523, -0.7438303679362013, -0.5506029235634193, -1.347532513457755, -0.5928860038389254, -0.6199930877212022, -0.5464162802735939, 1.92453332001529, 0.2989839355420466, 0.5004829001543722, null, null], [\"2\", -0.4740208901256851, -0.3202038822408791, -0.9381526140931042, 0.3635645568066484, -1.4731164134656474, 0.156998376446689, 1.0439446554953231, 0.4112040207072239, -0.1570991368466517, 0.8630648605906245, null, null], [\"3\", -0.05669571649092953, -0.9161988612665409, -1.2390715625947926, -0.014752111804594866, -0.896580615301871, -0.5714553510797893, 2.10778515279337, 0.8907649561731171, -0.7404690227807179, -1.0516278594652122, null, null], [\"4\", 1.3577972581070583, -0.8596682999817407, 0.13968327403129469, 1.2723950785462097, 1.1043515698603126, 1.0576331832046142, 1.4599274815852936, 0.22636322725170696, -1.2476529230512328, -1.392054077493087, null, null], [\"5\", -0.8048337241667037, 0.22598548673375538, -0.22301898188247601, -1.4495666088633876, -0.43154951551604476, -0.7914888094778855, 1.0154054578125205, -2.0786178937021753, 0.24945521515244942, 1.1539222406122254, null, null], [\"6\", -2.12362024909293, 0.6287758265382943, 2.123691888593553, -1.1955237416669708, -0.16113690824405888, -0.5246273459284702, 0.7491846009241975, -0.387886231967176, 0.5810733206206065, 1.181944105999232, null, null], [\"7\", -0.33350244043324745, 0.18649434877307466, 0.12227343425882888, -0.591862973147249, 0.8891574940728737, 0.07187803937036874, -0.6755214784366882, -0.08710696996399898, 2.7638440798495663, 0.39137144842193117, null, null], [\"8\", -0.886719352485378, 0.9524783451091219, -1.4094317399227687, -0.4145048435321895, 0.2883768477152654, 1.9107594272771828, 0.4402663916687296, 1.126385822137273, 0.3993254369795763, -0.8810470922015694, null, null], [\"9\", 0.33419793089900884, 0.9881375825933089, 1.4229859527722433, -1.4257947334380214, -1.0515389375700381, 0.7879646831376144, 0.6889718563269422, 0.2471117161577363, 0.6684881692058056, 0.2950799597862399, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null]],\"toyplot\");\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "source": [
    "data = toyplot.data.cars()\n",
    "columns = [\"Year\", \"MPG\", \"Model\"]\n",
    "canvas, table = toyplot.table(data[:10, columns], width=300)\n",
    "table.cells.column[2].width = 130"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"t2f3727fd0d96471ebc4d9cc2f518c1b5\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"300.0px\" id=\"t780b0c8d6c8e4a90881b4bd474ba32dd\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 300.0 300.0\" width=\"300.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Table\" id=\"t9c473b6333a54a31a6ae8fc04f99af23\"><g transform=\"translate(67.5,59.09090909090909)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:bold;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.008000000000001\" y=\"3.066\">Year</text></g><g transform=\"translate(102.5,59.09090909090909)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:bold;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.668\" y=\"3.066\">MPG</text></g><g transform=\"translate(125.0,59.09090909090909)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:bold;stroke:none;vertical-align:baseline;white-space:pre\" x=\"0\" y=\"3.066\">Model</text></g><g transform=\"translate(65.5,77.27272727272728)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">70</text></g><g transform=\"translate(100.5,77.27272727272728)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">18</text></g><g transform=\"translate(125.0,77.27272727272728)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"0\" y=\"3.066\">chevrolet chevelle malibu</text></g><g transform=\"translate(65.5,95.45454545454547)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">70</text></g><g transform=\"translate(100.5,95.45454545454547)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">15</text></g><g transform=\"translate(125.0,95.45454545454547)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"0\" y=\"3.066\">buick skylark 320</text></g><g transform=\"translate(65.5,113.63636363636364)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">70</text></g><g transform=\"translate(100.5,113.63636363636364)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">18</text></g><g transform=\"translate(125.0,113.63636363636364)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"0\" y=\"3.066\">plymouth satellite</text></g><g transform=\"translate(65.5,131.81818181818184)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">70</text></g><g transform=\"translate(100.5,131.81818181818184)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">16</text></g><g transform=\"translate(125.0,131.81818181818184)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"0\" y=\"3.066\">amc rebel sst</text></g><g transform=\"translate(65.5,150.00000000000003)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">70</text></g><g transform=\"translate(100.5,150.00000000000003)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">17</text></g><g transform=\"translate(125.0,150.00000000000003)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"0\" y=\"3.066\">ford torino</text></g><g transform=\"translate(65.5,168.18181818181822)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">70</text></g><g transform=\"translate(100.5,168.18181818181822)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">15</text></g><g transform=\"translate(125.0,168.18181818181822)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"0\" y=\"3.066\">ford galaxie 500</text></g><g transform=\"translate(65.5,186.36363636363637)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">70</text></g><g transform=\"translate(100.5,186.36363636363637)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">14</text></g><g transform=\"translate(125.0,186.36363636363637)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"0\" y=\"3.066\">chevrolet impala</text></g><g transform=\"translate(65.5,204.54545454545456)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">70</text></g><g transform=\"translate(100.5,204.54545454545456)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">14</text></g><g transform=\"translate(125.0,204.54545454545456)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"0\" y=\"3.066\">plymouth fury iii</text></g><g transform=\"translate(65.5,222.72727272727275)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">70</text></g><g transform=\"translate(100.5,222.72727272727275)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">14</text></g><g transform=\"translate(125.0,222.72727272727275)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"0\" y=\"3.066\">pontiac catalina</text></g><g transform=\"translate(65.5,240.90909090909093)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">70</text></g><g transform=\"translate(100.5,240.90909090909093)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-13.344000000000001\" y=\"3.066\">15</text></g><g transform=\"translate(125.0,240.90909090909093)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"0\" y=\"3.066\">amc ambassador dpl</text></g><line style=\"stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:0.5\" x1=\"50.0\" x2=\"250.0\" y1=\"68.18181818181819\" y2=\"68.18181818181819\"></line></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"t2f3727fd0d96471ebc4d9cc2f518c1b5\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"t780b0c8d6c8e4a90881b4bd474ba32dd\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t9c473b6333a54a31a6ae8fc04f99af23\",\"data\",\"table data\",[\"Year\", \"MPG\", \"Model\"],[[70.0, 70.0, 70.0, 70.0, 70.0, 70.0, 70.0, 70.0, 70.0, 70.0], [18.0, 15.0, 18.0, 16.0, 17.0, 15.0, 14.0, 14.0, 14.0, 15.0], [\"chevrolet chevelle malibu\", \"buick skylark 320\", \"plymouth satellite\", \"amc rebel sst\", \"ford torino\", \"ford galaxie 500\", \"chevrolet impala\", \"plymouth fury iii\", \"pontiac catalina\", \"amc ambassador dpl\"]],\"toyplot\");\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "source": [
    "table = toyplot.data.Table()\n",
    "table[\"x\"] = numpy.arange(10)\n",
    "table[\"x*2\"] = table[\"x\"] * 2\n",
    "table[\"x^2\"] = table[\"x\"] ** 2\n",
    "table"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "<toyplot.data.Table at 0x7fac968d9bd0>"
      ],
      "text/html": [
       "<table class=\"toyplot-data-Table\" style=\"border-collapse:collapse; border:none; color: #292724\"><tr style=\"border:none;border-bottom:1px solid #292724\"><th style=\"text-align:left;border:none;padding-right:1em;\">x</th><th style=\"text-align:left;border:none;padding-right:1em;\">x*2</th><th style=\"text-align:left;border:none;padding-right:1em;\">x^2</th></tr><tr style=\"border:none\"><td style=\"border:none;padding-right:1em;\">0</td><td style=\"border:none;padding-right:1em;\">0</td><td style=\"border:none;padding-right:1em;\">0</td></tr><tr style=\"border:none\"><td style=\"border:none;padding-right:1em;\">1</td><td style=\"border:none;padding-right:1em;\">2</td><td style=\"border:none;padding-right:1em;\">1</td></tr><tr style=\"border:none\"><td style=\"border:none;padding-right:1em;\">2</td><td style=\"border:none;padding-right:1em;\">4</td><td style=\"border:none;padding-right:1em;\">4</td></tr><tr style=\"border:none\"><td style=\"border:none;padding-right:1em;\">3</td><td style=\"border:none;padding-right:1em;\">6</td><td style=\"border:none;padding-right:1em;\">9</td></tr><tr style=\"border:none\"><td style=\"border:none;padding-right:1em;\">4</td><td style=\"border:none;padding-right:1em;\">8</td><td style=\"border:none;padding-right:1em;\">16</td></tr><tr style=\"border:none\"><td style=\"border:none;padding-right:1em;\">5</td><td style=\"border:none;padding-right:1em;\">10</td><td style=\"border:none;padding-right:1em;\">25</td></tr><tr style=\"border:none\"><td style=\"border:none;padding-right:1em;\">6</td><td style=\"border:none;padding-right:1em;\">12</td><td style=\"border:none;padding-right:1em;\">36</td></tr><tr style=\"border:none\"><td style=\"border:none;padding-right:1em;\">7</td><td style=\"border:none;padding-right:1em;\">14</td><td style=\"border:none;padding-right:1em;\">49</td></tr><tr style=\"border:none\"><td style=\"border:none;padding-right:1em;\">8</td><td style=\"border:none;padding-right:1em;\">16</td><td style=\"border:none;padding-right:1em;\">64</td></tr><tr style=\"border:none\"><td style=\"border:none;padding-right:1em;\">9</td><td style=\"border:none;padding-right:1em;\">18</td><td style=\"border:none;padding-right:1em;\">81</td></tr></table>"
      ]
     },
     "metadata": {},
     "execution_count": 10
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "source": [
    "canvas = toyplot.Canvas(width=400)\n",
    "axes = canvas.cartesian(aspect=\"fit-range\")\n",
    "axes.ellipse(0, 0, 5, 2);"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"t4416a3a0bf5c4133aa0d109de6ee0d29\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"400.0px\" id=\"ta82b06c720664fd982321280c0d515a5\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 400.0 400.0\" width=\"400.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"t75e5295abe864534b8640a51f80cb8eb\"><clipPath id=\"ta356a747ecc04d9b9224e399cb738197\"><rect height=\"320.0\" width=\"320.0\" x=\"40.0\" y=\"40.0\"></rect></clipPath><g clip-path=\"url(#ta356a747ecc04d9b9224e399cb738197)\"><g class=\"toyplot-mark-Ellipse\" id=\"tcd9623c26e3f4fd18f4fa9862cce31e6\" style=\"stroke:none\"><g class=\"toyplot-Series\"><polygon class=\"toyplot-Datum\" points=\"350.0,200.0 349.69800147078263,196.19456482060616 348.7932219246193,192.40445278557505 347.289304589406,188.6449253383754 345.1923052094535,184.93112076913525 342.51066766114184,181.2779932580908 339.2551899524109,177.70025266038036 335.4389807429932,174.21230527464974 331.07740656046775,170.82819583397185 326.1880299246772,167.56155095266416 320.7905386296588,164.42552425672156 314.9066664678467,161.43274341880763 308.5601057157605,158.59525931107328 301.77641173356983,155.92449748054798 294.58290006267833,153.4312121424946 287.00853643567973,151.12544287697983 279.0838201415753,149.01647420302913 270.84066121590246,147.1127981931451 262.312251950283,145.42208027872888 253.53293323878077,143.9511283840936 244.53805629924125,142.70586551335558 235.3638403264141,141.6913059005875 226.0472266500396,140.91153481926753 216.62572998515165,140.36969213232476 207.13728737356132,140.0679596490195 197.6201054247788,140.0075523395675 188.1125064714817,140.18871344288345 178.65277425900723,140.61071348714404 169.2789997902214,141.2718532271133 160.02892794649472,142.16947048640347 150.93980550238678,143.2999508771199 142.0482311460307,144.6587423537251 133.39000810913387,146.24037354251985 124.99999999999999,148.03847577293368 116.91199042008347,150.04580872191372 109.15854692934997,152.25428956815009 101.77088990820724,154.65502553874452 94.7787668440518,157.23834971726822 88.2103325486368,159.9938599690225 82.09203578858187,162.91046082676368 76.4485127855251,165.97640816823372 71.30248801475345,169.17935650559565 66.67468270176148,172.50640869635538 62.58373138518955,175.9441678756032 59.046106882113754,179.4787914004599 56.07605395782541,183.09604658951423 53.68553196718894,186.78136803280756 51.884166698540874,190.51991624159902 50.67921161403731,194.29663740174905 50.07551864252224,198.0963239901159 50.07551864252224,201.9036760098841 50.67921161403731,205.70336259825095 51.884166698540874,209.480083758401 53.68553196718894,213.21863196719244 56.07605395782541,216.90395341048577 59.04610688211372,220.5212085995401 62.58373138518955,224.05583212439686 66.67468270176148,227.49359130364462 71.30248801475345,230.8206434944044 76.44851278552507,234.02359183176625 82.0920357885819,237.08953917323632 88.21033254863679,240.0061400309775 94.77876684405182,242.76165028273175 101.77088990820721,245.34497446125548 109.15854692935,247.74571043184991 116.91199042008341,249.95419127808628 125.00000000000004,251.96152422706632 133.3900081091339,253.75962645748015 142.0482311460307,255.34125764627487 150.93980550238672,256.7000491228801 160.0289279464948,257.8305295135965 169.2789997902214,258.7281467728867 178.65277425900723,259.38928651285596 188.1125064714817,259.81128655711655 197.62010542477887,259.9924476604325 207.13728737356138,259.9320403509805 216.62572998515162,259.63030786767524 226.04722665003948,259.0884651807325 235.3638403264141,258.3086940994125 244.53805629924122,257.29413448664445 253.53293323878077,256.04887161590636 262.312251950283,254.5779197212711 270.84066121590246,252.8872018068549 279.0838201415753,250.98352579697087 287.0085364356796,248.87455712302017 294.58290006267833,246.56878785750538 301.77641173356983,244.075502519452 308.5601057157605,241.40474068892672 314.9066664678467,238.5672565811924 320.7905386296589,235.5744757432784 326.1880299246772,232.43844904733587 331.07740656046775,229.17180416602815 335.4389807429931,225.78769472535032 339.2551899524109,222.29974733961964 342.5106676611419,218.7220067419092 345.1923052094535,215.06887923086478 347.289304589406,211.3550746616246 348.7932219246193,207.59554721442493 349.69800147078263,203.80543517939384 350.0,200.00000000000003\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:none\"></polygon></g></g></g><g class=\"toyplot-coordinates-Axis\" id=\"t60c2965e63ab40619c67a4df8681aef0\" transform=\"translate(50.0,350.0)translate(0,10.0)\"><line style=\"\" x1=\"0\" x2=\"300.0\" y1=\"0\" y2=\"0\"></line><g><g transform=\"translate(0.0,6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-4.445\" y=\"8.555\">-5</text></g><g transform=\"translate(150.0,6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-2.78\" y=\"8.555\">0</text></g><g transform=\"translate(300.0,6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-2.78\" y=\"8.555\">5</text></g></g><g class=\"toyplot-coordinates-Axis-coordinates\" style=\"visibility:hidden\" transform=\"\"><line style=\"stroke:rgb(43.9%,50.2%,56.5%);stroke-opacity:1.0;stroke-width:1.0\" x1=\"0\" x2=\"0\" y1=\"-3.0\" y2=\"4.5\"></line><text style=\"alignment-baseline:alphabetic;fill:rgb(43.9%,50.2%,56.5%);fill-opacity:1.0;font-size:10px;font-weight:normal;stroke:none;text-anchor:middle\" x=\"0\" y=\"-6\"></text></g></g><g class=\"toyplot-coordinates-Axis\" id=\"t0cafdb7ffb974ee2b777b754dae3eef4\" transform=\"translate(50.0,350.0)rotate(-90.0)translate(0,-10.0)\"><line style=\"\" x1=\"90.0\" x2=\"210.0\" y1=\"0\" y2=\"0\"></line><g><g transform=\"translate(0.0,-6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-4.445\" y=\"-4.440892098500626e-16\">-5</text></g><g transform=\"translate(150.0,-6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-2.78\" y=\"-4.440892098500626e-16\">0</text></g><g transform=\"translate(300.0,-6)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:10.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-2.78\" y=\"-4.440892098500626e-16\">5</text></g></g><g class=\"toyplot-coordinates-Axis-coordinates\" style=\"visibility:hidden\" transform=\"\"><line style=\"stroke:rgb(43.9%,50.2%,56.5%);stroke-opacity:1.0;stroke-width:1.0\" x1=\"0\" x2=\"0\" y1=\"3.0\" y2=\"-4.5\"></line><text style=\"alignment-baseline:hanging;fill:rgb(43.9%,50.2%,56.5%);fill-opacity:1.0;font-size:10px;font-weight:normal;stroke:none;text-anchor:middle\" x=\"0\" y=\"6\"></text></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/canvas/id\"] = \"ta82b06c720664fd982321280c0d515a5\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot.coordinates.Axis\"] = (\n",
       "        function(canvas)\n",
       "        {\n",
       "            function sign(x)\n",
       "            {\n",
       "                return x < 0 ? -1 : x > 0 ? 1 : 0;\n",
       "            }\n",
       "\n",
       "            function mix(a, b, amount)\n",
       "            {\n",
       "                return ((1.0 - amount) * a) + (amount * b);\n",
       "            }\n",
       "\n",
       "            function log(x, base)\n",
       "            {\n",
       "                return Math.log(Math.abs(x)) / Math.log(base);\n",
       "            }\n",
       "\n",
       "            function in_range(a, x, b)\n",
       "            {\n",
       "                var left = Math.min(a, b);\n",
       "                var right = Math.max(a, b);\n",
       "                return left <= x && x <= right;\n",
       "            }\n",
       "\n",
       "            function inside(range, projection)\n",
       "            {\n",
       "                for(var i = 0; i != projection.length; ++i)\n",
       "                {\n",
       "                    var segment = projection[i];\n",
       "                    if(in_range(segment.range.min, range, segment.range.max))\n",
       "                        return true;\n",
       "                }\n",
       "                return false;\n",
       "            }\n",
       "\n",
       "            function to_domain(range, projection)\n",
       "            {\n",
       "                for(var i = 0; i != projection.length; ++i)\n",
       "                {\n",
       "                    var segment = projection[i];\n",
       "                    if(in_range(segment.range.bounds.min, range, segment.range.bounds.max))\n",
       "                    {\n",
       "                        if(segment.scale == \"linear\")\n",
       "                        {\n",
       "                            var amount = (range - segment.range.min) / (segment.range.max - segment.range.min);\n",
       "                            return mix(segment.domain.min, segment.domain.max, amount)\n",
       "                        }\n",
       "                        else if(segment.scale[0] == \"log\")\n",
       "                        {\n",
       "                            var amount = (range - segment.range.min) / (segment.range.max - segment.range.min);\n",
       "                            var base = segment.scale[1];\n",
       "                            return sign(segment.domain.min) * Math.pow(base, mix(log(segment.domain.min, base), log(segment.domain.max, base), amount));\n",
       "                        }\n",
       "                    }\n",
       "                }\n",
       "            }\n",
       "\n",
       "            var axes = {};\n",
       "\n",
       "            function display_coordinates(e)\n",
       "            {\n",
       "                var current = canvas.createSVGPoint();\n",
       "                current.x = e.clientX;\n",
       "                current.y = e.clientY;\n",
       "\n",
       "                for(var axis_id in axes)\n",
       "                {\n",
       "                    var axis = document.querySelector(\"#\" + axis_id);\n",
       "                    var coordinates = axis.querySelector(\".toyplot-coordinates-Axis-coordinates\");\n",
       "                    if(coordinates)\n",
       "                    {\n",
       "                        var projection = axes[axis_id];\n",
       "                        var local = current.matrixTransform(axis.getScreenCTM().inverse());\n",
       "                        if(inside(local.x, projection))\n",
       "                        {\n",
       "                            var domain = to_domain(local.x, projection);\n",
       "                            coordinates.style.visibility = \"visible\";\n",
       "                            coordinates.setAttribute(\"transform\", \"translate(\" + local.x + \")\");\n",
       "                            var text = coordinates.querySelector(\"text\");\n",
       "                            text.textContent = domain.toFixed(2);\n",
       "                        }\n",
       "                        else\n",
       "                        {\n",
       "                            coordinates.style.visibility= \"hidden\";\n",
       "                        }\n",
       "                    }\n",
       "                }\n",
       "            }\n",
       "\n",
       "            canvas.addEventListener(\"click\", display_coordinates);\n",
       "\n",
       "            var module = {};\n",
       "            module.show_coordinates = function(axis_id, projection)\n",
       "            {\n",
       "                axes[axis_id] = projection;\n",
       "            }\n",
       "\n",
       "            return module;\n",
       "        })(modules[\"toyplot/canvas\"]);\n",
       "(function(axis, axis_id, projection)\n",
       "        {\n",
       "            axis.show_coordinates(axis_id, projection);\n",
       "        })(modules[\"toyplot.coordinates.Axis\"],\"t60c2965e63ab40619c67a4df8681aef0\",[{\"domain\": {\"bounds\": {\"max\": Infinity, \"min\": -Infinity}, \"max\": 5.0, \"min\": -5.0}, \"range\": {\"bounds\": {\"max\": Infinity, \"min\": -Infinity}, \"max\": 300.0, \"min\": 0.0}, \"scale\": \"linear\"}]);\n",
       "(function(axis, axis_id, projection)\n",
       "        {\n",
       "            axis.show_coordinates(axis_id, projection);\n",
       "        })(modules[\"toyplot.coordinates.Axis\"],\"t0cafdb7ffb974ee2b777b754dae3eef4\",[{\"domain\": {\"bounds\": {\"max\": Infinity, \"min\": -Infinity}, \"max\": 5.0, \"min\": -5.0}, \"range\": {\"bounds\": {\"max\": Infinity, \"min\": -Infinity}, \"max\": 300.0, \"min\": 0.0}, \"scale\": \"linear\"}]);\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "source": [
    "sources = [\"Tim\", \"Tim\", \"Fred\", \"Janet\"]\n",
    "targets = [\"Fred\", \"Janet\", \"Janet\", \"Pam\"]\n",
    "toyplot.graph(sources, targets, width=300);"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"t73bd625c70264e08949bf2ba614ccec2\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"300.0px\" id=\"t8745231c1ce645b2a096b18a85d29250\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 300.0 300.0\" width=\"300.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"t4a9eea7cd1284e93ada7d18b47faada0\"><clipPath id=\"t107b23ce45f14a6f96504ed219ca7876\"><rect height=\"240.0\" width=\"240.0\" x=\"30.0\" y=\"30.0\"></rect></clipPath><g clip-path=\"url(#t107b23ce45f14a6f96504ed219ca7876)\"><g class=\"toyplot-mark-Graph\" id=\"tadb8ae76b9e441e580f09baa1e25659d\"><g class=\"toyplot-Edges\"><path d=\"M 99.95443819944566 71.97262432426501 L 51.15321731633968 141.1210772036344\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 102.10787952889521 72.07050483001278 L 152.98653899142198 160.1686115844077\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 51.966940208699306 143.11725930608424 L 152.01982279583257 161.5383918846564\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 155.6208042916493 163.05374987513454 L 248.36595871288256 228.50819978770662\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><g class=\"toyplot-HeadMarkers\"></g><g class=\"toyplot-MiddleMarkers\"></g><g class=\"toyplot-TailMarkers\"></g></g><g class=\"toyplot-Vertices\"><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(50.0, 142.7551181521098)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(153.98676300453187, 161.90053303863084)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(250.0, 229.66141662421032)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(101.10765551578534, 70.33858337578964)\"><circle r=\"2.0\"></circle></g></g><g class=\"toyplot-Labels\"><g class=\"toyplot-Datum\" transform=\"translate(50.0,142.7551181521098)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-12.336\" y=\"3.066\">Fred</text></g><g class=\"toyplot-Datum\" transform=\"translate(153.98676300453187,161.90053303863084)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-14.676000000000002\" y=\"3.066\">Janet</text></g><g class=\"toyplot-Datum\" transform=\"translate(250.0,229.66141662421032)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-12.336\" y=\"3.066\">Pam</text></g><g class=\"toyplot-Datum\" transform=\"translate(101.10765551578534,70.33858337578964)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-9.996\" y=\"3.066\">Tim</text></g></g></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"t73bd625c70264e08949bf2ba614ccec2\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"t8745231c1ce645b2a096b18a85d29250\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"tadb8ae76b9e441e580f09baa1e25659d\",\"vertex_data\",\"graph vertex data\",[\"x\", \"y\"],[[-0.608066455529988, -0.04382065364155368, 0.4771597513168273, -0.3307496198488407], [0.3601018093593005, 0.2562162794802614, -0.11146315385057387, 0.7530434161007823]],\"toyplot\");\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"tadb8ae76b9e441e580f09baa1e25659d\",\"edge_data\",\"graph edge data\",[\"source\", \"target\"],[[3, 3, 0, 1], [0, 1, 1, 2]],\"toyplot\");\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "source": [
    "edges = numpy.array([[0, 1], [0, 2], [1, 2], [2, 3]])\n",
    "toyplot.graph(edges, width=300);"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"t2f4b840b58514246bac351100acb0fd6\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"300.0px\" id=\"t22e8c26fc0a546a095397b5f36d1740d\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 300.0 300.0\" width=\"300.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"tb790c3833b224f2babed53b8df9cadef\"><clipPath id=\"t00f4ef21cebe470b81a4ee8b6d777c0f\"><rect height=\"240.0\" width=\"240.0\" x=\"30.0\" y=\"30.0\"></rect></clipPath><g clip-path=\"url(#t00f4ef21cebe470b81a4ee8b6d777c0f)\"><g class=\"toyplot-mark-Graph\" id=\"teb8f20448c694ab48feccb2481c8cc3e\"><g class=\"toyplot-Edges\"><path d=\"M 150.4564451470296 248.953853136015 L 221.22823596355278 205.5191689933762\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 148.52081022831442 248.01339198040043 L 137.04363654213697 149.33479461947607\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 221.26613682007226 203.36749216187442 L 138.47925124112564 148.4537165673933\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 135.76642993017816 145.64361140349817 L 78.11333572969085 51.70457519637832\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><g class=\"toyplot-HeadMarkers\"></g><g class=\"toyplot-MiddleMarkers\"></g><g class=\"toyplot-TailMarkers\"></g></g><g class=\"toyplot-Vertices\"><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(148.75186990991793, 250.0)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(222.93281120066445, 204.4730221293912)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(136.81257686053345, 147.3481865998765)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(77.06718879933555, 50.0)\"><circle r=\"2.0\"></circle></g></g><g class=\"toyplot-Labels\"><g class=\"toyplot-Datum\" transform=\"translate(148.75186990991793,250.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">0</text></g><g class=\"toyplot-Datum\" transform=\"translate(222.93281120066445,204.4730221293912)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">1</text></g><g class=\"toyplot-Datum\" transform=\"translate(136.81257686053345,147.3481865998765)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">2</text></g><g class=\"toyplot-Datum\" transform=\"translate(77.06718879933555,50.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">3</text></g></g></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"t2f4b840b58514246bac351100acb0fd6\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"t22e8c26fc0a546a095397b5f36d1740d\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"teb8f20448c694ab48feccb2481c8cc3e\",\"vertex_data\",\"graph vertex data\",[\"x\", \"y\"],[[-0.008633902853628904, 0.40505607488942663, -0.07521658285102872, -0.4084028140746855], [-0.3652028753683025, -0.11130943408421173, 0.20726258087791913, 0.7501509353136876]],\"toyplot\");\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"teb8f20448c694ab48feccb2481c8cc3e\",\"edge_data\",\"graph edge data\",[\"source\", \"target\"],[[0, 0, 1, 2], [1, 2, 2, 3]],\"toyplot\");\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "source": [
    "baG = nx.random_graphs.barabasi_albert_graph(30, 3)\n",
    "edges = numpy.array(baG.edges)\n",
    "# edges\n",
    "toyplot.graph(edges, width=500);"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"t554a5d489ea647199b63f7c3c1d4d7a7\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"500.0px\" id=\"t40f02772fb7a4ff990bead6bb2ae1642\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 500.0 500.0\" width=\"500.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"t470bb3e9696941948a3b6885022bf6fd\"><clipPath id=\"tfaba67b518c04665bb73719a348db3df\"><rect height=\"440.0\" width=\"440.0\" x=\"30.0\" y=\"30.0\"></rect></clipPath><g clip-path=\"url(#tfaba67b518c04665bb73719a348db3df)\"><g class=\"toyplot-mark-Graph\" id=\"t75b9ce24627b49ec970db59f1bd3f202\"><g class=\"toyplot-Edges\"><path d=\"M 156.7826103554857 237.56478303710364 L 172.6771763079229 358.6379281478736\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 158.50558220091048 235.83971887215154 L 223.82425086146134 244.33417262430837\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 156.8343173677196 233.60628939689659 L 167.651692945849 165.12088604469398\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 158.36424429134655 234.8025820438733 L 267.5423941794242 188.61629813137034\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 154.7936025530061 234.5759824999589 L 78.92609566395495 190.433220545276\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 158.18788795825574 236.6889381256052 L 256.8853609370888 302.2938765283055\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 157.73537082833283 233.9916982781244 L 245.99163655505836 118.3065593713415\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 157.28619640598293 237.4301583554525 L 195.19176225293702 329.1462054697217\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 157.63769057601417 237.24187794480935 L 242.10900288672102 362.9619250842978\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 156.07475072016163 237.53108382966133 L 120.65284775806546 391.81594550880106\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 155.91810705050332 233.67523784299078 L 102.37834997698013 64.72310174063084\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 154.60403801720938 236.14778148857164 L 54.86244332752632 265.576817460722\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 155.17911994321585 234.09993644772118 L 56.87750495368275 125.64741679104044\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 174.82514561510084 359.9599979296031 L 327.1255755654452 306.63543217068786\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 174.36797724103548 362.01867784903556 L 220.6779758085051 407.2697716036273\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 173.65035866601076 358.75226707698573 L 208.04106442157337 268.60198052079807\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 174.13553202700743 362.22239019291857 L 238.60191164319784 448.3985229576279\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 171.36612555885822 359.3836702624049 L 54.51557701457506 267.38004380300447\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 227.0255508437417 243.005753402299 L 268.16635525468985 189.423422200543\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 223.93256245037713 243.8960903047399 L 79.0724033942447 190.1234081680934\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 226.30613446715216 242.65523676285028 L 240.0433710012247 189.29000223584387\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 227.01421953615946 242.99711714146952 L 287.8680700331075 162.5604479450385\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 227.765696901517 244.99910950994914 L 328.47326022677396 265.9319627145364\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 225.76247155148948 246.5915853730841 L 222.1535278970143 406.6680443910614\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 226.1376175281038 242.61951756877465 L 246.87465748294818 118.68903550828962\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 225.1544365897192 246.4824485669345 L 196.60878969686152 329.10421068583804\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 227.80402817086642 244.71073700752896 L 363.9139365815322 252.79926266126267\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 224.08917544386333 245.6154153561991 L 135.55801865092138 298.3372463149869\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 224.58714411320716 246.17658348388522 L 209.97432537334018 265.14884442538124\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 223.81052120037452 244.48312284465268 L 120.21078032010927 238.83006176937823\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 169.906966739525 163.61847531658276 L 267.44111661010334 187.3639842313899\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 166.04264186020984 163.7016413687149 L 79.11850123560876 188.87114104924905\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 169.8609763251223 163.778186430999 L 238.64470639445133 186.7203365128258\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 169.04882470904343 164.82542629208166 L 257.4658690651587 301.7209677345581\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 168.4231660434473 161.1988635199237 L 194.21015384819822 51.946513887236094\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 166.07407757668184 162.49022642938013 L 57.423992199074306 124.82070618211053\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 267.384637217152 187.8035295593165 L 242.54167365962385 187.38669811816138\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 270.56647926647366 186.22382952579113 L 287.8926157111922 162.57872423950062\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 270.2855490680175 189.6225374356092 L 328.11202391989076 304.18906165494815\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 270.6121119203037 189.41588383661494 L 329.20365061638626 264.76017706665425\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 270.8498117045094 186.47603884414565 L 358.90263913494994 104.69691035016625\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 268.47157890365133 189.61664344139652 L 196.8684527913284 329.21500449015974\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 271.04264450926934 188.9551511915463 L 364.2521256515282 251.79983715602907\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 268.43126667353687 186.07878148227448 L 195.62268137531086 51.75830065853839\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 270.1582466088081 185.99287690713106 L 314.80147375316903 79.60672106311935\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 267.55295480267114 187.03335920496156 L 147.57647711623034 134.38085466188878\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 271.3454959916522 187.44474431958201 L 352.02652407128716 171.30402263417747\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 242.2990345870428 186.39780697976167 L 287.31765976056835 161.92081018138222\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 241.73767120231417 188.95634953445563 L 327.81750115553933 304.3713129519539\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 242.04435061709913 188.6732999898992 L 328.9290112895361 265.01882430922217\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 240.72977045148582 185.36198371438104 L 247.01690933791042 118.70762143731912\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 242.17952616163393 186.2049464709067 L 358.73052404777076 104.48406611925738\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 241.6718392973802 185.70288441996257 L 314.4454804345423 79.41277694614\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 239.16245106594315 188.80123688584465 L 135.21914780718583 297.91247685997723\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 238.80236575369213 186.36631787950466 L 147.48466553515462 134.5639593831978\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 238.69793763582678 188.12748364477386 L 120.05776866300128 237.94675304389293\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 288.65565649224453 162.9210711907844 L 258.9700489099951 301.4454170531744\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 290.6301254769376 159.70818342961178 L 358.8127088333571 104.59315524836614\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 287.11028274362 160.59009083686655 L 147.70953264611677 133.9525125136498\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 330.87877816760863 305.25362694091336 L 445.19024043950407 261.08139456624735\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 257.89667921308353 305.29096597529735 L 222.76273606839302 406.777586946299\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 258.06525940315896 305.34114262798664 L 243.7101175202097 362.68187898616964\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 260.36085669445833 302.5499606175655 L 364.100523890913 253.76896220867695\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 258.2972195603004 305.38485447928895 L 240.05368634184083 448.016162140191\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 329.10400348136574 267.8349735733034 L 244.5518140472886 363.1260101838293\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 332.4287840930597 266.2365879310499 L 445.0584240628347 260.4628953888227\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 245.96740677606735 115.14514028429288 L 195.9069101854008 51.57131933074226\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 248.94246857482895 115.7263858261427 L 313.8376206997686 78.75258961832999\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 248.98817719154232 117.62160992811245 L 352.2042117840174 170.00653449986933\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 194.1734806972266 330.0869424596971 L 135.62183899410624 300.26819154020313\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 194.41569356051278 332.270674824506 L 121.74529814192323 392.48912227026904\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 196.64708883143126 332.87125122408753 L 239.10852683428536 448.1233145666559\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 241.27827545078677 365.08304448879784 L 122.15145105546446 393.3041918099101\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 192.68835979692182 50.27334554476934 L 103.75540680863858 62.54319600442151\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 316.3378274307259 79.6114751163927 L 353.22520148736004 169.06272552599148\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 144.68947478886074 131.8783952150781 L 102.82977568675338 64.51527806015024\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 144.59811075649463 135.21556706213616 L 54.09116403637174 264.50436557876424\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 143.7558726056 133.36960052998228 L 57.52354573942928 124.37308640038606\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 352.31827312607084 172.0131080179903 L 210.42331032498424 265.63191124219367\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 355.4296382878293 172.29758201183643 L 445.6138273943145 258.9746073585264\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 206.84327528287682 266.14219990638657 L 120.12439503412175 239.31222569285254\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><g class=\"toyplot-HeadMarkers\"></g><g class=\"toyplot-MiddleMarkers\"></g><g class=\"toyplot-TailMarkers\"></g></g><g class=\"toyplot-Vertices\"><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(156.52228271735552, 235.58179803443076)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(172.93750394605308, 360.62091315054647)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(225.8075503450163, 244.59209346202914)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(167.96372759621306, 163.1453774071598)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(269.38435575341526, 187.83708214081287)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(77.19741549960554, 189.42740501080414)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(240.54195512336057, 187.353145536665)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(289.0747392242506, 160.96547162447888)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(329.01321723449297, 305.9745169497445)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(258.55096617798904, 303.40101661947995)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(330.43140678327467, 266.33897876245635)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(222.1084491034875, 408.6675363021164)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(247.20472466603567, 116.71645961503515)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(360.3680950860441, 103.33586705349904)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(195.95567594156444, 330.9945657907434)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(243.22441074537966, 364.62200499467633)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(365.9104144073823, 252.9179062067625)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(194.66959229543247, 50.0)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(315.57536460856187, 77.76251582943755)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(133.8396437497684, 299.36056820915684)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(145.74507616548618, 133.57713172603746)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(353.98766430952406, 170.91168481294662)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(208.75391914153104, 266.7333344472373)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(120.20531576087157, 393.7652313040316)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(118.21375117546751, 238.72109115200178)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(101.77417431012793, 62.81654154919085)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(239.79993972415218, 450.0)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(447.0558013726197, 260.3605045574162)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(52.94419862738018, 266.1428009148629)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(55.53434217954309, 124.16555520433086)\"><circle r=\"2.0\"></circle></g></g><g class=\"toyplot-Labels\"><g class=\"toyplot-Datum\" transform=\"translate(156.52228271735552,235.58179803443076)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">0</text></g><g class=\"toyplot-Datum\" transform=\"translate(172.93750394605308,360.62091315054647)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">1</text></g><g class=\"toyplot-Datum\" transform=\"translate(225.8075503450163,244.59209346202914)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">2</text></g><g class=\"toyplot-Datum\" transform=\"translate(167.96372759621306,163.1453774071598)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">3</text></g><g class=\"toyplot-Datum\" transform=\"translate(269.38435575341526,187.83708214081287)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">4</text></g><g class=\"toyplot-Datum\" transform=\"translate(77.19741549960554,189.42740501080414)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">5</text></g><g class=\"toyplot-Datum\" transform=\"translate(240.54195512336057,187.353145536665)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">6</text></g><g class=\"toyplot-Datum\" transform=\"translate(289.0747392242506,160.96547162447888)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">7</text></g><g class=\"toyplot-Datum\" transform=\"translate(329.01321723449297,305.9745169497445)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">8</text></g><g class=\"toyplot-Datum\" transform=\"translate(258.55096617798904,303.40101661947995)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">9</text></g><g class=\"toyplot-Datum\" transform=\"translate(330.43140678327467,266.33897876245635)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">10</text></g><g class=\"toyplot-Datum\" transform=\"translate(222.1084491034875,408.6675363021164)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">11</text></g><g class=\"toyplot-Datum\" transform=\"translate(247.20472466603567,116.71645961503515)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">12</text></g><g class=\"toyplot-Datum\" transform=\"translate(360.3680950860441,103.33586705349904)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">13</text></g><g class=\"toyplot-Datum\" transform=\"translate(195.95567594156444,330.9945657907434)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">14</text></g><g class=\"toyplot-Datum\" transform=\"translate(243.22441074537966,364.62200499467633)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">15</text></g><g class=\"toyplot-Datum\" transform=\"translate(365.9104144073823,252.9179062067625)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">16</text></g><g class=\"toyplot-Datum\" transform=\"translate(194.66959229543247,50.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">17</text></g><g class=\"toyplot-Datum\" transform=\"translate(315.57536460856187,77.76251582943755)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">18</text></g><g class=\"toyplot-Datum\" transform=\"translate(133.8396437497684,299.36056820915684)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">19</text></g><g class=\"toyplot-Datum\" transform=\"translate(145.74507616548618,133.57713172603746)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">20</text></g><g class=\"toyplot-Datum\" transform=\"translate(353.98766430952406,170.91168481294662)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">21</text></g><g class=\"toyplot-Datum\" transform=\"translate(208.75391914153104,266.7333344472373)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">22</text></g><g class=\"toyplot-Datum\" transform=\"translate(120.20531576087157,393.7652313040316)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">23</text></g><g class=\"toyplot-Datum\" transform=\"translate(118.21375117546751,238.72109115200178)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">24</text></g><g class=\"toyplot-Datum\" transform=\"translate(101.77417431012793,62.81654154919085)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">25</text></g><g class=\"toyplot-Datum\" transform=\"translate(239.79993972415218,450.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">26</text></g><g class=\"toyplot-Datum\" transform=\"translate(447.0558013726197,260.3605045574162)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">27</text></g><g class=\"toyplot-Datum\" transform=\"translate(52.94419862738018,266.1428009148629)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">28</text></g><g class=\"toyplot-Datum\" transform=\"translate(55.53434217954309,124.16555520433086)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">29</text></g></g></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"t554a5d489ea647199b63f7c3c1d4d7a7\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"t40f02772fb7a4ff990bead6bb2ae1642\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t75b9ce24627b49ec970db59f1bd3f202\",\"vertex_data\",\"graph vertex data\",[\"x\", \"y\"],[[-0.06687099476764079, -0.024344778752036878, 0.11262340355833379, -0.03723012976374426, 0.2255159813828574, -0.27237455708416247, 0.15079519982811407, 0.27652702102982446, 0.37999393868724624, 0.19745037941214807, 0.3836679820804066, 0.10304029917800221, 0.1680561537248938, 0.461223688203314, 0.035287421199928656, 0.15774452360785254, 0.4755819393290823, 0.031955618954465755, 0.3451810649772562, -0.1256339435637992, -0.09479104576691348, 0.44469417734905015, 0.06844328595248657, -0.16095581764672479, -0.16611527937970805, -0.20870459250808346, 0.14887289206789486, 0.6858018447861387, -0.33520633531072863, -0.32849616048724606], [0.13011438346553936, -0.19381913809625412, 0.10677179402491802, 0.317772339948462, 0.25380458985435284, 0.24968460798133546, 0.2550583038481595, 0.32341972921702017, -0.05224904184638629, -0.04558198391056445, 0.05043306248618345, -0.318291482787651, 0.43805376411512686, 0.4727182966097533, -0.11706741906527825, -0.20418459669660938, 0.08520246478133703, 0.6108932606931706, 0.5389700907979476, -0.03511456592676583, 0.39437353742971126, 0.2976524974083759, 0.0494114219731297, -0.27968471455408944, 0.12198155020096338, 0.577689991184929, -0.4253697399238036, 0.0659212415332486, 0.05094129209868769, 0.41875570874701123]],\"toyplot\");\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t75b9ce24627b49ec970db59f1bd3f202\",\"edge_data\",\"graph edge data\",[\"source\", \"target\"],[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 9, 9, 9, 9, 10, 10, 12, 12, 12, 14, 14, 14, 15, 17, 18, 20, 20, 20, 21, 21, 22], [1, 2, 3, 4, 5, 9, 12, 14, 15, 23, 25, 28, 29, 8, 11, 22, 26, 28, 4, 5, 6, 7, 10, 11, 12, 14, 16, 19, 22, 24, 4, 5, 6, 9, 17, 29, 6, 7, 8, 10, 13, 14, 16, 17, 18, 20, 21, 7, 8, 10, 12, 13, 18, 19, 20, 24, 9, 13, 20, 27, 11, 15, 16, 26, 15, 27, 17, 18, 21, 19, 23, 26, 23, 25, 21, 25, 28, 29, 22, 27, 24]],\"toyplot\");\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "source": [
    "# layout = toyplot.layout.FruchtermanReingold()\n",
    "layout = toyplot.layout.FruchtermanReingold(edges=toyplot.layout.CurvedEdges())\n",
    "toyplot.graph(edges, layout=layout, width=500);"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"t5879002a17db4905819e5b641a4a494c\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"500.0px\" id=\"t0e590b7d0d34460c901eca0a2f458cc0\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 500.0 500.0\" width=\"500.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"tb37d4ad0e56a44bab6efe578290be480\"><clipPath id=\"tc03d661c4a9f4485b76c9f788f27c294\"><rect height=\"440.0\" width=\"440.0\" x=\"30.0\" y=\"30.0\"></rect></clipPath><g clip-path=\"url(#tc03d661c4a9f4485b76c9f788f27c294)\"><g class=\"toyplot-mark-Graph\" id=\"t094395ef222b486192c037bd13bd4ea5\"><g class=\"toyplot-Edges\"><path d=\"M 157.34143791955395 237.406348596819 Q 183.4857605991217 295.63907240818395 173.2579618391103 358.6467533954159\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 158.49605210153257 235.25894447926163 Q 192.5164608453257 229.69415560408083 223.98200697556436 243.77515319110958\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 156.2534994774605 233.59994143771354 Q 151.37754206269366 197.64737098896666 167.09719437628107 164.94790900986592\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 158.0626558620053 234.3061607132294 Q 205.7916118513427 194.7801291322129 267.3961704741931 188.05415193485268\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 154.57748845010096 235.11513406747613 Q 109.93669015493654 224.40333160527996 78.56417183265955 190.88753415785132\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 158.43577756211656 236.1636377710189 Q 217.70950723542967 254.18710480786027 257.2737400616774 301.86196059457\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 157.22729859352467 233.7101803880218 Q 184.03370292878628 162.54676253243093 245.58588518423815 117.89092065405413\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 157.78510175797345 237.13269715128294 Q 190.55089449290688 277.37317292895574 195.7551017609672 329.0046487075267\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 158.06767013523947 236.8513561184293 Q 219.22937777540446 287.09658231034996 242.63306423173262 362.7114267312185\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 156.6537479585897 237.57747257962777 Q 162.09131422955366 320.1210597127038 121.19409682288541 392.0267515050685\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 155.39574134303822 233.92925316909387 Q 103.23344004095577 157.4113860528949 101.80502360501474 64.81630361528896\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 154.8475716708823 236.67511542239302 Q 109.3173911044327 266.39901208814314 54.94417797147924 266.15189064407235\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 154.809956313311 234.54838703874125 Q 89.31587602393432 195.02186770005267 56.39504899630163 125.97087616626128\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 174.55562416246903 359.4454613373164 Q 242.77840116015273 309.88635805687954 327.0152718355236 306.065149078359\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 174.70929359892423 361.5486854426412 Q 204.72996999750578 377.2685829527163 221.13994891187656 406.917677056677\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 173.08334343626296 358.6262375270189 Q 176.76257473829568 308.3046615195702 207.53417665510207 268.3183354777733\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 174.54518777433287 361.8105991209973 Q 219.77558486252067 395.2810912085584 239.1126179796897 448.12181235772647\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 171.07687729492994 359.88738164806665 Q 98.7691344513641 331.38085283050566 54.09378702282438 267.77939693131293\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 226.51835177615533 242.72266538759283 Q 239.0827013510333 209.6780669901612 267.76189139837095 189.00653047939417\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 223.81164261946486 244.46421715036763 Q 143.22777965462717 239.3012694632283 78.79333315396782 190.63282893643975\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 225.7285556454379 242.59365411157626 Q 224.58891054538378 213.76245878259544 239.50784646863085 189.0650507005725\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 226.50501674061857 242.71764937723879 Q 244.89715150900093 193.28870421136884 287.46064668216593 162.14644802796317\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 227.80006978790934 244.41927485859424 Q 281.3815113592095 239.771957646504 328.6727977419044 265.38645882061223\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 226.3389224645189 246.52021266752845 Q 248.569316150265 327.1846800683021 222.7261765296822 406.7653236886247\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 225.55688185682058 242.60786431472138 Q 217.32479242847685 177.44470039037927 246.32176213013975 118.51100054803284\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 225.72517036531735 246.5903961265284 Q 223.8419839925975 292.27111078690405 197.1244350059916 329.371604839482\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 227.75392125641218 244.13204968664257 Q 297.1078542879093 227.73957022504092 364.03222743985737 252.2305826184728\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 224.45569507937117 246.066029464964 Q 188.0388682594615 285.7715168248802 135.7795977805005 298.87417499513515\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 225.09391303502312 246.46044080387585 Q 220.60192089105487 258.220758635156 210.37815616648683 265.5663494058753\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 223.86343086143373 245.06156064251638 Q 171.13000041373783 257.79566218244776 120.09524570606611 239.3993081757689\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 169.9609568100864 163.04013736130784 Q 222.3777973848621 160.278135550406 267.659013907419 186.82555086870394\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 166.28350245527537 164.2302015752907 Q 126.52287568845594 189.9013380234731 79.19732318688246 189.4466206911376\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 169.96279863333223 163.2063281130726 Q 207.8840065792126 164.36252734284028 238.90655675617637 186.2018540094612\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 169.48582062762995 164.4427720285885 Q 234.2956927689491 219.68511122605344 257.99439013603296 301.48002127603934\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 167.8444631676924 161.1489365750564 Q 164.3448533347488 102.56680899869698 193.6702034245075 51.73240349938209\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 165.96551488944567 163.06084351742678 Q 105.90206155745372 160.5198741182458 57.15604238992704 125.33606296920927\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 267.45933151299005 188.3795594894417 Q 254.8905649477657 191.92147393324714 242.4476968370892 187.95989797428234\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 270.0530599987897 185.9521856894877 Q 275.1988059113828 171.44771936202054 287.4789055232544 162.17100669189287\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 270.7605892019398 189.28828215981858 Q 316.9194017152938 237.96147032311703 328.6630773934343 304.0054049438638\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 271.01399821092065 188.99650676565741 Q 311.68316576159145 217.93097279715568 329.7090949838039 264.473967860519\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 270.39691506974543 186.11234342700345 Q 302.2010431566326 131.9389136972616 358.5733499427908 104.21841442943342\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 269.0214272711284 189.80387722844782 Q 254.1436383949794 270.4301259375558 197.34131077776811 329.55233969865566\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 271.2939830899044 188.4314922986445 Q 327.40950869029115 205.89858537569265 364.643336626184 251.37048451362463\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 267.9662180041296 186.42680368460256 Q 211.3514117033019 130.12575558910385 195.07724209187631 51.95801471992917\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 269.5956802821539 185.84827799169375 Q 275.9686752342823 125.8711476568532 314.3041831309255 79.30656817664413\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 267.39924369781545 187.5935043776399 Q 199.42572339723438 179.25299887161458 147.2682920486899 134.87320787085147\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 271.150049979245 186.8977611621951 Q 309.1472004322897 166.68388719346345 351.9964951969775 170.72394679005149\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 241.9504175045715 185.93320408691662 Q 260.8501960869777 166.87939096543843 287.1172478143873 161.375626936905\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 242.14792069234056 188.54514997929547 Q 302.5707918908887 233.3931419265349 328.3286062233063 304.095339533064\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 242.36033260881902 188.1859140041143 Q 297.3345559371862 213.36264440057357 329.3717164793319 264.6427899581867\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 240.14969344195265 185.39199006773885 Q 233.27783700645364 151.03538714444883 246.45267406853614 118.56967840913384\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 241.7805311339808 185.78281771550277 Q 287.8524333322274 127.37058530067951 358.46965392791407 103.9650897240362\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 241.14998884197513 185.4478122332696 Q 261.6200654098771 121.30281926027106 314.0189328049137 79.01850947615415\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 239.6367358638906 189.1365630683397 Q 203.9919128374383 259.36220357894973 135.57707498382572 298.3699458255403\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 238.59216785889743 186.90780339478155 Q 185.07711357282926 174.6846704750324 147.1277377485425 135.02220852217675\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 238.99821112147177 188.62470145625028 Q 187.08304499171456 231.38634893651732 120.20250401351335 238.5092842843969\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 289.2352681682453 162.9590188293727 Q 295.17818445037005 236.76181007891861 259.5143120347791 301.6483144884248\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 290.2032499564033 159.31427099238834 Q 316.0769764695004 121.45666595971997 358.5170261452062 104.09319378369243\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 287.08526629532696 161.17040445513308 Q 213.3016567101022 168.77075113407284 147.51881934320457 134.50116372737585\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 330.59295431314933 304.74796456100677 Q 381.1924074447071 265.4611231328613 445.0617718544363 260.514926967102\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 258.46734587614657 305.3992677661379 Q 256.11968559313374 361.5006540219734 223.2782153077732 407.0453011072969\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 258.6432345684235 305.39888712182153 Q 260.07083671796386 336.3104941219696 244.24712456749856 362.9032681218401\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 260.03997774538715 302.06578459763705 Q 304.65822373077805 262.0555441787122 363.9323045546869 253.21300180257734\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 258.87797261210346 305.3741022212843 Q 271.16530045814864 379.5131622778155 240.61303651868292 448.1727415063205\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 329.5898559553321 268.1533084469374 Q 301.5703626991601 328.56154128425055 244.9257034647525 363.5705283743899\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 332.315125483185 265.66696398612464 Q 387.84683294719116 245.8560824715345 445.1132390948973 259.8846350404581\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 245.56807378061131 115.56694933702991 Q 210.92968953847878 91.23849966310797 195.40321260638018 51.86059163691686\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 248.5846858490679 115.26880387787791 Q 275.5469530694591 86.98389173085741 313.62641220594384 78.21149749089969\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 249.17305540199249 117.07096506476444 Q 308.7254782674666 127.79663126746756 352.53951963073223 169.53223673879273\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 193.98783884607468 330.63733034231416 Q 160.15256020842844 324.49497182871954 135.28587355512448 300.74202372783986\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 194.8473275708195 332.659367247094 Q 167.49609567821125 373.7424525744915 122.0470385968241 392.98545120969027\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 197.1571909725642 332.5934283959355 Q 235.7286229642468 383.9206433279835 239.6769478754416 448.0037853308948\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 241.49282992942037 365.6228186025983 Q 186.0863471995289 397.64648239703024 122.20185402442765 393.88285341996425\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 192.85046099554305 50.83112051699053 Q 150.14436453515884 70.34258347239106 103.75039613865427 63.12402697072504\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 316.83696608273925 79.31440555501517 Q 348.7538898065693 118.57525536604777 353.7886519185563 168.92161092782544\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 144.24586507568017 132.25336206774995 Q 113.14553671128007 104.7924719159179 102.29712871081689 64.74696085462686\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 145.11728347797978 135.47604624267942 Q 119.22948777475699 213.78009795116614 54.513593173816865 264.90304256840386\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 143.78013105879617 133.94994632834675 Q 99.22797269425863 142.4029535630756 57.38001998548205 124.93592747581026\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 352.7051691827791 172.44635293663836 Q 295.74403917067116 240.60757140529088 210.66939752644197 266.1580583770423\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 355.767059518263 171.82478540494995 Q 413.93905580274236 201.67587412571706 446.0728754233074 258.6187076179975\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 206.75399297161695 266.71614971876295 Q 159.28199866421392 266.30823799452907 119.8739548245842 239.8363148261854\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><g class=\"toyplot-HeadMarkers\"></g><g class=\"toyplot-MiddleMarkers\"></g><g class=\"toyplot-TailMarkers\"></g></g><g class=\"toyplot-Vertices\"><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(156.52228271735552, 235.58179803443076)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(172.93750394605308, 360.62091315054647)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(225.8075503450163, 244.59209346202914)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(167.96372759621306, 163.1453774071598)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(269.38435575341526, 187.83708214081287)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(77.19741549960554, 189.42740501080414)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(240.54195512336057, 187.353145536665)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(289.0747392242506, 160.96547162447888)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(329.01321723449297, 305.9745169497445)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(258.55096617798904, 303.40101661947995)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(330.43140678327467, 266.33897876245635)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(222.1084491034875, 408.6675363021164)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(247.20472466603567, 116.71645961503515)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(360.3680950860441, 103.33586705349904)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(195.95567594156444, 330.9945657907434)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(243.22441074537966, 364.62200499467633)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(365.9104144073823, 252.9179062067625)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(194.66959229543247, 50.0)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(315.57536460856187, 77.76251582943755)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(133.8396437497684, 299.36056820915684)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(145.74507616548618, 133.57713172603746)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(353.98766430952406, 170.91168481294662)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(208.75391914153104, 266.7333344472373)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(120.20531576087157, 393.7652313040316)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(118.21375117546751, 238.72109115200178)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(101.77417431012793, 62.81654154919085)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(239.79993972415218, 450.0)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(447.0558013726197, 260.3605045574162)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(52.94419862738018, 266.1428009148629)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(55.53434217954309, 124.16555520433086)\"><circle r=\"2.0\"></circle></g></g><g class=\"toyplot-Labels\"><g class=\"toyplot-Datum\" transform=\"translate(156.52228271735552,235.58179803443076)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">0</text></g><g class=\"toyplot-Datum\" transform=\"translate(172.93750394605308,360.62091315054647)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">1</text></g><g class=\"toyplot-Datum\" transform=\"translate(225.8075503450163,244.59209346202914)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">2</text></g><g class=\"toyplot-Datum\" transform=\"translate(167.96372759621306,163.1453774071598)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">3</text></g><g class=\"toyplot-Datum\" transform=\"translate(269.38435575341526,187.83708214081287)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">4</text></g><g class=\"toyplot-Datum\" transform=\"translate(77.19741549960554,189.42740501080414)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">5</text></g><g class=\"toyplot-Datum\" transform=\"translate(240.54195512336057,187.353145536665)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">6</text></g><g class=\"toyplot-Datum\" transform=\"translate(289.0747392242506,160.96547162447888)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">7</text></g><g class=\"toyplot-Datum\" transform=\"translate(329.01321723449297,305.9745169497445)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">8</text></g><g class=\"toyplot-Datum\" transform=\"translate(258.55096617798904,303.40101661947995)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">9</text></g><g class=\"toyplot-Datum\" transform=\"translate(330.43140678327467,266.33897876245635)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">10</text></g><g class=\"toyplot-Datum\" transform=\"translate(222.1084491034875,408.6675363021164)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">11</text></g><g class=\"toyplot-Datum\" transform=\"translate(247.20472466603567,116.71645961503515)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">12</text></g><g class=\"toyplot-Datum\" transform=\"translate(360.3680950860441,103.33586705349904)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">13</text></g><g class=\"toyplot-Datum\" transform=\"translate(195.95567594156444,330.9945657907434)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">14</text></g><g class=\"toyplot-Datum\" transform=\"translate(243.22441074537966,364.62200499467633)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">15</text></g><g class=\"toyplot-Datum\" transform=\"translate(365.9104144073823,252.9179062067625)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">16</text></g><g class=\"toyplot-Datum\" transform=\"translate(194.66959229543247,50.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">17</text></g><g class=\"toyplot-Datum\" transform=\"translate(315.57536460856187,77.76251582943755)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">18</text></g><g class=\"toyplot-Datum\" transform=\"translate(133.8396437497684,299.36056820915684)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">19</text></g><g class=\"toyplot-Datum\" transform=\"translate(145.74507616548618,133.57713172603746)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">20</text></g><g class=\"toyplot-Datum\" transform=\"translate(353.98766430952406,170.91168481294662)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">21</text></g><g class=\"toyplot-Datum\" transform=\"translate(208.75391914153104,266.7333344472373)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">22</text></g><g class=\"toyplot-Datum\" transform=\"translate(120.20531576087157,393.7652313040316)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">23</text></g><g class=\"toyplot-Datum\" transform=\"translate(118.21375117546751,238.72109115200178)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">24</text></g><g class=\"toyplot-Datum\" transform=\"translate(101.77417431012793,62.81654154919085)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">25</text></g><g class=\"toyplot-Datum\" transform=\"translate(239.79993972415218,450.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">26</text></g><g class=\"toyplot-Datum\" transform=\"translate(447.0558013726197,260.3605045574162)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">27</text></g><g class=\"toyplot-Datum\" transform=\"translate(52.94419862738018,266.1428009148629)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">28</text></g><g class=\"toyplot-Datum\" transform=\"translate(55.53434217954309,124.16555520433086)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">29</text></g></g></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"t5879002a17db4905819e5b641a4a494c\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"t0e590b7d0d34460c901eca0a2f458cc0\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t094395ef222b486192c037bd13bd4ea5\",\"vertex_data\",\"graph vertex data\",[\"x\", \"y\"],[[-0.06687099476764079, -0.024344778752036878, 0.11262340355833379, -0.03723012976374426, 0.2255159813828574, -0.27237455708416247, 0.15079519982811407, 0.27652702102982446, 0.37999393868724624, 0.19745037941214807, 0.3836679820804066, 0.10304029917800221, 0.1680561537248938, 0.461223688203314, 0.035287421199928656, 0.15774452360785254, 0.4755819393290823, 0.031955618954465755, 0.3451810649772562, -0.1256339435637992, -0.09479104576691348, 0.44469417734905015, 0.06844328595248657, -0.16095581764672479, -0.16611527937970805, -0.20870459250808346, 0.14887289206789486, 0.6858018447861387, -0.33520633531072863, -0.32849616048724606], [0.13011438346553936, -0.19381913809625412, 0.10677179402491802, 0.317772339948462, 0.25380458985435284, 0.24968460798133546, 0.2550583038481595, 0.32341972921702017, -0.05224904184638629, -0.04558198391056445, 0.05043306248618345, -0.318291482787651, 0.43805376411512686, 0.4727182966097533, -0.11706741906527825, -0.20418459669660938, 0.08520246478133703, 0.6108932606931706, 0.5389700907979476, -0.03511456592676583, 0.39437353742971126, 0.2976524974083759, 0.0494114219731297, -0.27968471455408944, 0.12198155020096338, 0.577689991184929, -0.4253697399238036, 0.0659212415332486, 0.05094129209868769, 0.41875570874701123]],\"toyplot\");\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t094395ef222b486192c037bd13bd4ea5\",\"edge_data\",\"graph edge data\",[\"source\", \"target\"],[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 9, 9, 9, 9, 10, 10, 12, 12, 12, 14, 14, 14, 15, 17, 18, 20, 20, 20, 21, 21, 22], [1, 2, 3, 4, 5, 9, 12, 14, 15, 23, 25, 28, 29, 8, 11, 22, 26, 28, 4, 5, 6, 7, 10, 11, 12, 14, 16, 19, 22, 24, 4, 5, 6, 9, 17, 29, 6, 7, 8, 10, 13, 14, 16, 17, 18, 20, 21, 7, 8, 10, 12, 13, 18, 19, 20, 24, 9, 13, 20, 27, 11, 15, 16, 26, 15, 27, 17, 18, 21, 19, 23, 26, 23, 25, 21, 25, 28, 29, 22, 27, 24]],\"toyplot\");\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "source": [
    "# G = nx.petersen_graph()\n",
    "# nx.draw(G, with_labels=True, font_weight='bold')"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "source": [
    "numpy.random.seed(1234)\n",
    "tree2 = nx.from_prufer_sequence(numpy.random.choice(4, 12))\n",
    "edges = numpy.array(tree2.edges)\n",
    "layout = toyplot.layout.Buchheim()\n",
    "toyplot.graph(edges, layout=layout, width=500, height=200);"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"tbe14c9350ddb46fe8b103cf7c9842555\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"200.0px\" id=\"ted60bfe64f78469ab47b1f3cbe2c0de3\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 500.0 200.0\" width=\"500.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"ta039452cb96f48c588ba79d412a81c82\"><clipPath id=\"tbd1904b62968402d880ee8b153a05e9a\"><rect height=\"140.0\" width=\"440.0\" x=\"30.0\" y=\"30.0\"></rect></clipPath><g clip-path=\"url(#tbd1904b62968402d880ee8b153a05e9a)\"><g class=\"toyplot-mark-Graph\" id=\"ta69d184e63d8403cbc9aadc8c0bf3033\"><g class=\"toyplot-Edges\"><path d=\"M 210.8358994113243 51.10940039245046 L 164.1641005886757 82.22393294088289\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 211.60557280900008 51.78885438199983 L 196.72776052433326 81.54447895133352\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 213.39442719099992 51.78885438199983 L 228.27223947566674 81.54447895133352\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 214.1641005886757 51.10940039245046 L 260.8358994113243 82.22393294088289\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 260.6723769027595 84.14561026544024 L 189.32762309724052 115.85438973455979\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 261.0857864376269 84.74754689570644 L 230.58088022903976 115.2524531042936\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 263.7 84.93333333333334 L 286.3 115.06666666666669\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 264.3276230972405 84.14561026544024 L 335.6723769027595 115.85438973455979\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 187.5 118.66666666666669 L 187.5 148.0\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 285.8358994113243 117.77606705911714 L 239.1641005886757 148.89059960754955\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 286.6055728090001 118.45552104866651 L 271.7277605243333 148.21114561800016\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 288.3944271909999 118.45552104866651 L 303.27223947566677 148.21114561800016\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 289.1641005886757 117.77606705911714 L 335.8358994113243 148.89059960754955\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><g class=\"toyplot-HeadMarkers\"></g><g class=\"toyplot-MiddleMarkers\"></g><g class=\"toyplot-TailMarkers\"></g></g><g class=\"toyplot-Vertices\"><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(212.5, 50.0)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(262.5, 83.33333333333334)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(187.5, 116.66666666666669)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(287.5, 116.66666666666669)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(237.5, 150.0)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(270.83333333333337, 150.0)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(187.5, 150.0)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(162.5, 83.33333333333334)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(195.83333333333334, 83.33333333333334)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(229.16666666666666, 83.33333333333334)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(304.1666666666667, 150.0)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(229.16666666666666, 116.66666666666669)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(337.5, 150.0)\"><circle r=\"2.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(40%,76.1%,64.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0\" transform=\"translate(337.5, 116.66666666666669)\"><circle r=\"2.0\"></circle></g></g><g class=\"toyplot-Labels\"><g class=\"toyplot-Datum\" transform=\"translate(212.5,50.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">0</text></g><g class=\"toyplot-Datum\" transform=\"translate(262.5,83.33333333333334)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">1</text></g><g class=\"toyplot-Datum\" transform=\"translate(187.5,116.66666666666669)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">2</text></g><g class=\"toyplot-Datum\" transform=\"translate(287.5,116.66666666666669)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">3</text></g><g class=\"toyplot-Datum\" transform=\"translate(237.5,150.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">4</text></g><g class=\"toyplot-Datum\" transform=\"translate(270.83333333333337,150.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">5</text></g><g class=\"toyplot-Datum\" transform=\"translate(187.5,150.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">6</text></g><g class=\"toyplot-Datum\" transform=\"translate(162.5,83.33333333333334)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">7</text></g><g class=\"toyplot-Datum\" transform=\"translate(195.83333333333334,83.33333333333334)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">8</text></g><g class=\"toyplot-Datum\" transform=\"translate(229.16666666666666,83.33333333333334)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">9</text></g><g class=\"toyplot-Datum\" transform=\"translate(304.1666666666667,150.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">10</text></g><g class=\"toyplot-Datum\" transform=\"translate(229.16666666666666,116.66666666666669)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">11</text></g><g class=\"toyplot-Datum\" transform=\"translate(337.5,150.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">12</text></g><g class=\"toyplot-Datum\" transform=\"translate(337.5,116.66666666666669)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">13</text></g></g></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"tbe14c9350ddb46fe8b103cf7c9842555\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"ted60bfe64f78469ab47b1f3cbe2c0de3\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"ta69d184e63d8403cbc9aadc8c0bf3033\",\"vertex_data\",\"graph vertex data\",[\"x\", \"y\"],[[0.0, 1.5, -0.75, 2.25, 0.75, 1.75, -0.75, -1.5, -0.5, 0.5, 2.75, 0.5, 3.75, 3.75], [0.0, -1.0, -2.0, -2.0, -3.0, -3.0, -3.0, -1.0, -1.0, -1.0, -3.0, -2.0, -3.0, -2.0]],\"toyplot\");\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"ta69d184e63d8403cbc9aadc8c0bf3033\",\"edge_data\",\"graph edge data\",[\"source\", \"target\"],[[0, 0, 0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 3], [7, 8, 9, 1, 2, 11, 3, 13, 6, 4, 5, 10, 12]],\"toyplot\");\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "source": [
    "layout = toyplot.layout.FruchtermanReingold()\n",
    "#layout = toyplot.layout.FruchtermanReingold(edges=toyplot.layout.CurvedEdges())\n",
    "vlstyle = {\"fill\":\"white\"}\n",
    "\n",
    "toyplot.graph(edges, layout=layout, vcolor=\"steelblue\", vmarker=\"d\", vsize=30, vlstyle=vlstyle, width=500);"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"tfd30605232884bf194b401a2c9acc508\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"500.0px\" id=\"t892ec89651db471490f35de4c644c6ef\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 500.0 500.0\" width=\"500.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"tcd8a21db8fcd4a1b97478c7272505426\"><clipPath id=\"ta2c6a96f85904d528e22d30f8861dff1\"><rect height=\"440.0\" width=\"440.0\" x=\"30.0\" y=\"30.0\"></rect></clipPath><g clip-path=\"url(#ta2c6a96f85904d528e22d30f8861dff1)\"><g class=\"toyplot-mark-Graph\" id=\"t4e38e4c026374271b2efed12ae41b78d\"><g class=\"toyplot-Edges\"><path d=\"M 190.84750737124875 373.109645609561 L 129.18319585653418 415.47943809646335\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 190.84750737124875 373.109645609561 L 179.1225952843654 450.0\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 190.84750737124875 373.109645609561 L 236.99195775884007 429.72823352162845\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 190.84750737124875 373.109645609561 L 209.20717458478538 252.2196418889397\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 209.20717458478538 252.2196418889397 L 299.4677761343588 267.8058577838426\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 209.20717458478538 252.2196418889397 L 152.94553196355048 282.43678642694215\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 209.20717458478538 252.2196418889397 L 212.61745926255395 123.41715313419428\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 209.20717458478538 252.2196418889397 L 148.65374796653364 225.23648564410354\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 299.4677761343588 267.8058577838426 L 370.8168041434658 280.5953493595888\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 212.61745926255395 123.41715313419428 L 241.8487653928542 50.0\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 212.61745926255395 123.41715313419428 L 146.8515126342051 90.8609040691835\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 212.61745926255395 123.41715313419428 L 186.40392026226152 50.541011814509496\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 212.61745926255395 123.41715313419428 L 278.73670665553715 94.04365483040596\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><g class=\"toyplot-HeadMarkers\"></g><g class=\"toyplot-MiddleMarkers\"></g><g class=\"toyplot-TailMarkers\"></g></g><g class=\"toyplot-Vertices\"><g class=\"toyplot-Datum\" style=\"fill:rgb(27.5%,51%,70.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(27.5%,51%,70.6%);stroke-opacity:1.0\" transform=\"translate(190.84750737124875, 373.109645609561)\"><rect height=\"30.0\" transform=\"rotate(-45)\" width=\"30.0\" x=\"-15.0\" y=\"-15.0\"></rect></g><g class=\"toyplot-Datum\" style=\"fill:rgb(27.5%,51%,70.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(27.5%,51%,70.6%);stroke-opacity:1.0\" transform=\"translate(209.20717458478538, 252.2196418889397)\"><rect height=\"30.0\" transform=\"rotate(-45)\" width=\"30.0\" x=\"-15.0\" y=\"-15.0\"></rect></g><g class=\"toyplot-Datum\" style=\"fill:rgb(27.5%,51%,70.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(27.5%,51%,70.6%);stroke-opacity:1.0\" transform=\"translate(299.4677761343588, 267.8058577838426)\"><rect height=\"30.0\" transform=\"rotate(-45)\" width=\"30.0\" x=\"-15.0\" y=\"-15.0\"></rect></g><g class=\"toyplot-Datum\" style=\"fill:rgb(27.5%,51%,70.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(27.5%,51%,70.6%);stroke-opacity:1.0\" transform=\"translate(212.61745926255395, 123.41715313419428)\"><rect height=\"30.0\" transform=\"rotate(-45)\" width=\"30.0\" x=\"-15.0\" y=\"-15.0\"></rect></g><g class=\"toyplot-Datum\" style=\"fill:rgb(27.5%,51%,70.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(27.5%,51%,70.6%);stroke-opacity:1.0\" transform=\"translate(241.8487653928542, 50.0)\"><rect height=\"30.0\" transform=\"rotate(-45)\" width=\"30.0\" x=\"-15.0\" y=\"-15.0\"></rect></g><g class=\"toyplot-Datum\" style=\"fill:rgb(27.5%,51%,70.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(27.5%,51%,70.6%);stroke-opacity:1.0\" transform=\"translate(146.8515126342051, 90.8609040691835)\"><rect height=\"30.0\" transform=\"rotate(-45)\" width=\"30.0\" x=\"-15.0\" y=\"-15.0\"></rect></g><g class=\"toyplot-Datum\" style=\"fill:rgb(27.5%,51%,70.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(27.5%,51%,70.6%);stroke-opacity:1.0\" transform=\"translate(370.8168041434658, 280.5953493595888)\"><rect height=\"30.0\" transform=\"rotate(-45)\" width=\"30.0\" x=\"-15.0\" y=\"-15.0\"></rect></g><g class=\"toyplot-Datum\" style=\"fill:rgb(27.5%,51%,70.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(27.5%,51%,70.6%);stroke-opacity:1.0\" transform=\"translate(129.18319585653418, 415.47943809646335)\"><rect height=\"30.0\" transform=\"rotate(-45)\" width=\"30.0\" x=\"-15.0\" y=\"-15.0\"></rect></g><g class=\"toyplot-Datum\" style=\"fill:rgb(27.5%,51%,70.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(27.5%,51%,70.6%);stroke-opacity:1.0\" transform=\"translate(179.1225952843654, 450.0)\"><rect height=\"30.0\" transform=\"rotate(-45)\" width=\"30.0\" x=\"-15.0\" y=\"-15.0\"></rect></g><g class=\"toyplot-Datum\" style=\"fill:rgb(27.5%,51%,70.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(27.5%,51%,70.6%);stroke-opacity:1.0\" transform=\"translate(236.99195775884007, 429.72823352162845)\"><rect height=\"30.0\" transform=\"rotate(-45)\" width=\"30.0\" x=\"-15.0\" y=\"-15.0\"></rect></g><g class=\"toyplot-Datum\" style=\"fill:rgb(27.5%,51%,70.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(27.5%,51%,70.6%);stroke-opacity:1.0\" transform=\"translate(186.40392026226152, 50.541011814509496)\"><rect height=\"30.0\" transform=\"rotate(-45)\" width=\"30.0\" x=\"-15.0\" y=\"-15.0\"></rect></g><g class=\"toyplot-Datum\" style=\"fill:rgb(27.5%,51%,70.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(27.5%,51%,70.6%);stroke-opacity:1.0\" transform=\"translate(152.94553196355048, 282.43678642694215)\"><rect height=\"30.0\" transform=\"rotate(-45)\" width=\"30.0\" x=\"-15.0\" y=\"-15.0\"></rect></g><g class=\"toyplot-Datum\" style=\"fill:rgb(27.5%,51%,70.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(27.5%,51%,70.6%);stroke-opacity:1.0\" transform=\"translate(278.73670665553715, 94.04365483040596)\"><rect height=\"30.0\" transform=\"rotate(-45)\" width=\"30.0\" x=\"-15.0\" y=\"-15.0\"></rect></g><g class=\"toyplot-Datum\" style=\"fill:rgb(27.5%,51%,70.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(27.5%,51%,70.6%);stroke-opacity:1.0\" transform=\"translate(148.65374796653364, 225.23648564410354)\"><rect height=\"30.0\" transform=\"rotate(-45)\" width=\"30.0\" x=\"-15.0\" y=\"-15.0\"></rect></g></g><g class=\"toyplot-Labels\"><g class=\"toyplot-Datum\" transform=\"translate(190.84750737124875,373.109645609561)\"><text style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">0</text></g><g class=\"toyplot-Datum\" transform=\"translate(209.20717458478538,252.2196418889397)\"><text style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">1</text></g><g class=\"toyplot-Datum\" transform=\"translate(299.4677761343588,267.8058577838426)\"><text style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">2</text></g><g class=\"toyplot-Datum\" transform=\"translate(212.61745926255395,123.41715313419428)\"><text style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">3</text></g><g class=\"toyplot-Datum\" transform=\"translate(241.8487653928542,50.0)\"><text style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">4</text></g><g class=\"toyplot-Datum\" transform=\"translate(146.8515126342051,90.8609040691835)\"><text style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">5</text></g><g class=\"toyplot-Datum\" transform=\"translate(370.8168041434658,280.5953493595888)\"><text style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">6</text></g><g class=\"toyplot-Datum\" transform=\"translate(129.18319585653418,415.47943809646335)\"><text style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">7</text></g><g class=\"toyplot-Datum\" transform=\"translate(179.1225952843654,450.0)\"><text style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">8</text></g><g class=\"toyplot-Datum\" transform=\"translate(236.99195775884007,429.72823352162845)\"><text style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">9</text></g><g class=\"toyplot-Datum\" transform=\"translate(186.40392026226152,50.541011814509496)\"><text style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">10</text></g><g class=\"toyplot-Datum\" transform=\"translate(152.94553196355048,282.43678642694215)\"><text style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">11</text></g><g class=\"toyplot-Datum\" transform=\"translate(278.73670665553715,94.04365483040596)\"><text style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">12</text></g><g class=\"toyplot-Datum\" transform=\"translate(148.65374796653364,225.23648564410354)\"><text style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">13</text></g></g></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"tfd30605232884bf194b401a2c9acc508\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"t892ec89651db471490f35de4c644c6ef\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t4e38e4c026374271b2efed12ae41b78d\",\"vertex_data\",\"graph vertex data\",[\"x\", \"y\"],[[-0.175902589838734, -0.06895752474969351, 0.456810496828494, -0.049092615838533395, 0.12117974805473543, -0.4321792677373991, 0.8724185988559525, -0.5350972164030829, -0.24420020502483591, 0.09288884264215654, -0.20178648561267679, -0.3966816039589296, 0.3360520130830295, -0.42168124657612566], [-0.5093944187086274, 0.1947898764720554, 0.10400016585337685, 0.9450643985151593, 1.372719329798415, 1.1347045556496798, 0.029501374937632645, -0.7561984681839908, -0.9572807479849015, -0.8391977043063745, 1.369567935873693, 0.01877500366221689, 1.1161650318466467, 0.35196676684532435]],\"toyplot\");\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t4e38e4c026374271b2efed12ae41b78d\",\"edge_data\",\"graph edge data\",[\"source\", \"target\"],[[0, 0, 0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 3], [7, 8, 9, 1, 2, 11, 3, 13, 6, 4, 5, 10, 12]],\"toyplot\");\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "source": [
    "colormap = toyplot.color.LinearMap(toyplot.color.Palette([\"white\", \"yellow\", \"red\"]))\n",
    "vstyle = {\"stroke\":toyplot.color.black}\n",
    "\n",
    "toyplot.graph(edges, layout=layout, vcolor=colormap, vsize=30, vstyle=vstyle, width=500);"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"tf7348a68583141df8d90ffe6166a2696\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"500.0px\" id=\"t729310c062394aad83bf8c6e0ff20f4d\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 500.0 500.0\" width=\"500.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"t66c3ab7e32bb4f34963ceb27beb8c695\"><clipPath id=\"t6f258759c796418094227b4a92dbc0e5\"><rect height=\"440.0\" width=\"440.0\" x=\"30.0\" y=\"30.0\"></rect></clipPath><g clip-path=\"url(#t6f258759c796418094227b4a92dbc0e5)\"><g class=\"toyplot-mark-Graph\" id=\"taecb487e61244fe1a2a1c31ab4aecc6e\"><g class=\"toyplot-Edges\"><path d=\"M 178.48459317864885 381.6042528792594 L 141.54611004913409 406.984830826765\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 188.5863149649527 387.9382331654178 L 181.38378769066145 435.17141244414324\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 200.32393282400628 384.73708559600385 L 227.51553230608255 418.10079353518563\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 193.09974448928168 358.27969523998274 L 206.95493746675245 267.049592258518\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 223.98841656851758 254.7720692470348 L 284.6865341506266 265.2534304257475\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 195.99250865560032 259.3170079059939 L 166.16019789273554 275.3394204098879\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 209.60418825977158 237.22489680468186 L 212.22044558756775 138.4118982184521\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 195.5059299610733 246.1142429862307 L 162.35499259024573 231.34188454681257\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 314.23244636677464 270.45246182071963 L 356.05213391104996 277.9487453227118\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 218.166130443428 109.48114767615367 L 236.30009421198017 63.93600545804062\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 199.1744438993484 116.76243015388775 L 160.29452799741065 97.51562704949004\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 207.54041754850553 109.30249240735382 L 191.48096197630994 64.65567254134994\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 226.32561981770826 117.32729811177286 L 265.0285461003828 100.13350985282737\" style=\"fill:none;stroke:rgb(40%,76.1%,64.7%);stroke-opacity:1.0;stroke-width:1.0\"></path><g class=\"toyplot-HeadMarkers\"></g><g class=\"toyplot-MiddleMarkers\"></g><g class=\"toyplot-TailMarkers\"></g></g><g class=\"toyplot-Vertices\"><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(190.84750737124875, 373.109645609561)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,84.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(209.20717458478538, 252.2196418889397)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,69.2%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(299.4677761343588, 267.8058577838426)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,53.8%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(212.61745926255395, 123.41715313419428)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,38.5%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(241.8487653928542, 50.0)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,23.1%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(146.8515126342051, 90.8609040691835)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,7.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(370.8168041434658, 280.5953493595888)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,92.3%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(129.18319585653418, 415.47943809646335)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,76.9%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(179.1225952843654, 450.0)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,61.5%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(236.99195775884007, 429.72823352162845)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,46.2%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(186.40392026226152, 50.541011814509496)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,30.8%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(152.94553196355048, 282.43678642694215)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,15.4%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(278.73670665553715, 94.04365483040596)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,0%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(148.65374796653364, 225.23648564410354)\"><circle r=\"15.0\"></circle></g></g><g class=\"toyplot-Labels\"><g class=\"toyplot-Datum\" transform=\"translate(190.84750737124875,373.109645609561)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">0</text></g><g class=\"toyplot-Datum\" transform=\"translate(209.20717458478538,252.2196418889397)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">1</text></g><g class=\"toyplot-Datum\" transform=\"translate(299.4677761343588,267.8058577838426)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">2</text></g><g class=\"toyplot-Datum\" transform=\"translate(212.61745926255395,123.41715313419428)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">3</text></g><g class=\"toyplot-Datum\" transform=\"translate(241.8487653928542,50.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">4</text></g><g class=\"toyplot-Datum\" transform=\"translate(146.8515126342051,90.8609040691835)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">5</text></g><g class=\"toyplot-Datum\" transform=\"translate(370.8168041434658,280.5953493595888)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">6</text></g><g class=\"toyplot-Datum\" transform=\"translate(129.18319585653418,415.47943809646335)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">7</text></g><g class=\"toyplot-Datum\" transform=\"translate(179.1225952843654,450.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">8</text></g><g class=\"toyplot-Datum\" transform=\"translate(236.99195775884007,429.72823352162845)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">9</text></g><g class=\"toyplot-Datum\" transform=\"translate(186.40392026226152,50.541011814509496)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">10</text></g><g class=\"toyplot-Datum\" transform=\"translate(152.94553196355048,282.43678642694215)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">11</text></g><g class=\"toyplot-Datum\" transform=\"translate(278.73670665553715,94.04365483040596)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">12</text></g><g class=\"toyplot-Datum\" transform=\"translate(148.65374796653364,225.23648564410354)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">13</text></g></g></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"tf7348a68583141df8d90ffe6166a2696\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"t729310c062394aad83bf8c6e0ff20f4d\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"taecb487e61244fe1a2a1c31ab4aecc6e\",\"vertex_data\",\"graph vertex data\",[\"x\", \"y\"],[[-0.175902589838734, -0.06895752474969351, 0.456810496828494, -0.049092615838533395, 0.12117974805473543, -0.4321792677373991, 0.8724185988559525, -0.5350972164030829, -0.24420020502483591, 0.09288884264215654, -0.20178648561267679, -0.3966816039589296, 0.3360520130830295, -0.42168124657612566], [-0.5093944187086274, 0.1947898764720554, 0.10400016585337685, 0.9450643985151593, 1.372719329798415, 1.1347045556496798, 0.029501374937632645, -0.7561984681839908, -0.9572807479849015, -0.8391977043063745, 1.369567935873693, 0.01877500366221689, 1.1161650318466467, 0.35196676684532435]],\"toyplot\");\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"taecb487e61244fe1a2a1c31ab4aecc6e\",\"edge_data\",\"graph edge data\",[\"source\", \"target\"],[[0, 0, 0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 3], [7, 8, 9, 1, 2, 11, 3, 13, 6, 4, 5, 10, 12]],\"toyplot\");\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "source": [
    "estyle = {\"stroke-dasharray\":\"3,3\"}\n",
    "toyplot.graph(\n",
    "    edges,\n",
    "    layout=layout,\n",
    "    ecolor=\"black\",\n",
    "    ewidth=3,\n",
    "    eopacity=0.4,\n",
    "    estyle=estyle,\n",
    "    vcolor=colormap,\n",
    "    vsize=30,\n",
    "    vstyle=vstyle,\n",
    "    width=500,\n",
    ");"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"t439d512bfb2444d79d9c1c52dec48eb8\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"500.0px\" id=\"tba515eb2cd85458091f5831b6356ae69\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 500.0 500.0\" width=\"500.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"tc32ef4635bb143d9865fa82da720427d\"><clipPath id=\"t7dd0da52eb334657bb8162c538fa1a48\"><rect height=\"440.0\" width=\"440.0\" x=\"30.0\" y=\"30.0\"></rect></clipPath><g clip-path=\"url(#t7dd0da52eb334657bb8162c538fa1a48)\"><g class=\"toyplot-mark-Graph\" id=\"tf0c75dab8f2d45b78e85be92031db8d9\"><g class=\"toyplot-Edges\"><path d=\"M 178.48459317864885 381.6042528792594 L 141.54611004913409 406.984830826765\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-dasharray:3,3;stroke-opacity:0.4;stroke-width:3.0\"></path><path d=\"M 188.5863149649527 387.9382331654178 L 181.38378769066145 435.17141244414324\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-dasharray:3,3;stroke-opacity:0.4;stroke-width:3.0\"></path><path d=\"M 200.32393282400628 384.73708559600385 L 227.51553230608255 418.10079353518563\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-dasharray:3,3;stroke-opacity:0.4;stroke-width:3.0\"></path><path d=\"M 193.09974448928168 358.27969523998274 L 206.95493746675245 267.049592258518\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-dasharray:3,3;stroke-opacity:0.4;stroke-width:3.0\"></path><path d=\"M 223.98841656851758 254.7720692470348 L 284.6865341506266 265.2534304257475\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-dasharray:3,3;stroke-opacity:0.4;stroke-width:3.0\"></path><path d=\"M 195.99250865560032 259.3170079059939 L 166.16019789273554 275.3394204098879\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-dasharray:3,3;stroke-opacity:0.4;stroke-width:3.0\"></path><path d=\"M 209.60418825977158 237.22489680468186 L 212.22044558756775 138.4118982184521\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-dasharray:3,3;stroke-opacity:0.4;stroke-width:3.0\"></path><path d=\"M 195.5059299610733 246.1142429862307 L 162.35499259024573 231.34188454681257\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-dasharray:3,3;stroke-opacity:0.4;stroke-width:3.0\"></path><path d=\"M 314.23244636677464 270.45246182071963 L 356.05213391104996 277.9487453227118\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-dasharray:3,3;stroke-opacity:0.4;stroke-width:3.0\"></path><path d=\"M 218.166130443428 109.48114767615367 L 236.30009421198017 63.93600545804062\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-dasharray:3,3;stroke-opacity:0.4;stroke-width:3.0\"></path><path d=\"M 199.1744438993484 116.76243015388775 L 160.29452799741065 97.51562704949004\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-dasharray:3,3;stroke-opacity:0.4;stroke-width:3.0\"></path><path d=\"M 207.54041754850553 109.30249240735382 L 191.48096197630994 64.65567254134994\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-dasharray:3,3;stroke-opacity:0.4;stroke-width:3.0\"></path><path d=\"M 226.32561981770826 117.32729811177286 L 265.0285461003828 100.13350985282737\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-dasharray:3,3;stroke-opacity:0.4;stroke-width:3.0\"></path><g class=\"toyplot-HeadMarkers\"></g><g class=\"toyplot-MiddleMarkers\"></g><g class=\"toyplot-TailMarkers\"></g></g><g class=\"toyplot-Vertices\"><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(190.84750737124875, 373.109645609561)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,84.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(209.20717458478538, 252.2196418889397)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,69.2%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(299.4677761343588, 267.8058577838426)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,53.8%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(212.61745926255395, 123.41715313419428)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,38.5%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(241.8487653928542, 50.0)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,23.1%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(146.8515126342051, 90.8609040691835)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,7.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(370.8168041434658, 280.5953493595888)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,92.3%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(129.18319585653418, 415.47943809646335)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,76.9%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(179.1225952843654, 450.0)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,61.5%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(236.99195775884007, 429.72823352162845)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,46.2%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(186.40392026226152, 50.541011814509496)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,30.8%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(152.94553196355048, 282.43678642694215)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,15.4%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(278.73670665553715, 94.04365483040596)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,0%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(148.65374796653364, 225.23648564410354)\"><circle r=\"15.0\"></circle></g></g><g class=\"toyplot-Labels\"><g class=\"toyplot-Datum\" transform=\"translate(190.84750737124875,373.109645609561)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">0</text></g><g class=\"toyplot-Datum\" transform=\"translate(209.20717458478538,252.2196418889397)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">1</text></g><g class=\"toyplot-Datum\" transform=\"translate(299.4677761343588,267.8058577838426)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">2</text></g><g class=\"toyplot-Datum\" transform=\"translate(212.61745926255395,123.41715313419428)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">3</text></g><g class=\"toyplot-Datum\" transform=\"translate(241.8487653928542,50.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">4</text></g><g class=\"toyplot-Datum\" transform=\"translate(146.8515126342051,90.8609040691835)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">5</text></g><g class=\"toyplot-Datum\" transform=\"translate(370.8168041434658,280.5953493595888)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">6</text></g><g class=\"toyplot-Datum\" transform=\"translate(129.18319585653418,415.47943809646335)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">7</text></g><g class=\"toyplot-Datum\" transform=\"translate(179.1225952843654,450.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">8</text></g><g class=\"toyplot-Datum\" transform=\"translate(236.99195775884007,429.72823352162845)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">9</text></g><g class=\"toyplot-Datum\" transform=\"translate(186.40392026226152,50.541011814509496)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">10</text></g><g class=\"toyplot-Datum\" transform=\"translate(152.94553196355048,282.43678642694215)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">11</text></g><g class=\"toyplot-Datum\" transform=\"translate(278.73670665553715,94.04365483040596)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">12</text></g><g class=\"toyplot-Datum\" transform=\"translate(148.65374796653364,225.23648564410354)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">13</text></g></g></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"t439d512bfb2444d79d9c1c52dec48eb8\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"tba515eb2cd85458091f5831b6356ae69\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"tf0c75dab8f2d45b78e85be92031db8d9\",\"vertex_data\",\"graph vertex data\",[\"x\", \"y\"],[[-0.175902589838734, -0.06895752474969351, 0.456810496828494, -0.049092615838533395, 0.12117974805473543, -0.4321792677373991, 0.8724185988559525, -0.5350972164030829, -0.24420020502483591, 0.09288884264215654, -0.20178648561267679, -0.3966816039589296, 0.3360520130830295, -0.42168124657612566], [-0.5093944187086274, 0.1947898764720554, 0.10400016585337685, 0.9450643985151593, 1.372719329798415, 1.1347045556496798, 0.029501374937632645, -0.7561984681839908, -0.9572807479849015, -0.8391977043063745, 1.369567935873693, 0.01877500366221689, 1.1161650318466467, 0.35196676684532435]],\"toyplot\");\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"tf0c75dab8f2d45b78e85be92031db8d9\",\"edge_data\",\"graph edge data\",[\"source\", \"target\"],[[0, 0, 0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 3], [7, 8, 9, 1, 2, 11, 3, 13, 6, 4, 5, 10, 12]],\"toyplot\");\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "source": [
    "toyplot.graph(\n",
    "    edges,\n",
    "    layout=layout,\n",
    "    ecolor=\"black\",\n",
    "    tmarker=\">\",\n",
    "    vcolor=colormap,\n",
    "    vsize=30,\n",
    "    vstyle=vstyle,\n",
    "    width=500,\n",
    ");"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"te014b4faa56e4062b420fbb813c1d0c7\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"500.0px\" id=\"t24b6fe3f21074036a295769cd72c10e1\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 500.0 500.0\" width=\"500.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"td0d23676384f49c09fc2a49848697b63\"><clipPath id=\"t1d905e8e82a64860b6492952d4f69d39\"><rect height=\"440.0\" width=\"440.0\" x=\"30.0\" y=\"30.0\"></rect></clipPath><g clip-path=\"url(#t1d905e8e82a64860b6492952d4f69d39)\"><g class=\"toyplot-mark-Graph\" id=\"t6f934b614f404928bb984fee152ba952\"><g class=\"toyplot-Edges\"><path d=\"M 178.48459317864885 381.6042528792594 L 141.54611004913409 406.984830826765\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 188.5863149649527 387.9382331654178 L 181.38378769066145 435.17141244414324\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 200.32393282400628 384.73708559600385 L 227.51553230608255 418.10079353518563\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 193.09974448928168 358.27969523998274 L 206.95493746675245 267.049592258518\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 223.98841656851758 254.7720692470348 L 284.6865341506266 265.2534304257475\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 195.99250865560032 259.3170079059939 L 166.16019789273554 275.3394204098879\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 209.60418825977158 237.22489680468186 L 212.22044558756775 138.4118982184521\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 195.5059299610733 246.1142429862307 L 162.35499259024573 231.34188454681257\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 314.23244636677464 270.45246182071963 L 356.05213391104996 277.9487453227118\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 218.166130443428 109.48114767615367 L 236.30009421198017 63.93600545804062\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 199.1744438993484 116.76243015388775 L 160.29452799741065 97.51562704949004\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 207.54041754850553 109.30249240735382 L 191.48096197630994 64.65567254134994\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 226.32561981770826 117.32729811177286 L 265.0285461003828 100.13350985282737\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><g class=\"toyplot-HeadMarkers\"></g><g class=\"toyplot-MiddleMarkers\"></g><g class=\"toyplot-TailMarkers\"><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(141.54611004913409, 406.984830826765) rotate(145.50688845095195) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(181.38378769066145, 435.17141244414324) rotate(98.67017011115577) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(227.51553230608255, 418.10079353518563) rotate(50.819782740230316) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(206.95493746675245, 267.049592258518) rotate(-81.3644303946073) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(284.6865341506266, 265.2534304257475) rotate(9.79722796857128) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(166.16019789273554, 275.3394204098879) rotate(151.76053207008147) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(212.22044558756775, 138.4118982184521) rotate(-88.48334235441433) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(162.35499259024573, 231.34188454681257) rotate(-155.9818135917853) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(356.05213391104996, 277.9487453227118) rotate(10.162483771761122) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(236.30009421198017, 63.93600545804062) rotate(-68.28984605939009) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(160.29452799741065, 97.51562704949004) rotate(-153.66311670049916) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(191.48096197630994, 64.65567254134994) rotate(-109.78365195677) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(265.0285461003828, 100.13350985282737) rotate(-23.953201514419998) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g></g></g><g class=\"toyplot-Vertices\"><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(190.84750737124875, 373.109645609561)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,84.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(209.20717458478538, 252.2196418889397)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,69.2%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(299.4677761343588, 267.8058577838426)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,53.8%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(212.61745926255395, 123.41715313419428)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,38.5%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(241.8487653928542, 50.0)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,23.1%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(146.8515126342051, 90.8609040691835)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,7.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(370.8168041434658, 280.5953493595888)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,92.3%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(129.18319585653418, 415.47943809646335)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,76.9%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(179.1225952843654, 450.0)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,61.5%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(236.99195775884007, 429.72823352162845)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,46.2%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(186.40392026226152, 50.541011814509496)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,30.8%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(152.94553196355048, 282.43678642694215)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,15.4%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(278.73670665553715, 94.04365483040596)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,0%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(148.65374796653364, 225.23648564410354)\"><circle r=\"15.0\"></circle></g></g><g class=\"toyplot-Labels\"><g class=\"toyplot-Datum\" transform=\"translate(190.84750737124875,373.109645609561)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">0</text></g><g class=\"toyplot-Datum\" transform=\"translate(209.20717458478538,252.2196418889397)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">1</text></g><g class=\"toyplot-Datum\" transform=\"translate(299.4677761343588,267.8058577838426)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">2</text></g><g class=\"toyplot-Datum\" transform=\"translate(212.61745926255395,123.41715313419428)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">3</text></g><g class=\"toyplot-Datum\" transform=\"translate(241.8487653928542,50.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">4</text></g><g class=\"toyplot-Datum\" transform=\"translate(146.8515126342051,90.8609040691835)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">5</text></g><g class=\"toyplot-Datum\" transform=\"translate(370.8168041434658,280.5953493595888)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">6</text></g><g class=\"toyplot-Datum\" transform=\"translate(129.18319585653418,415.47943809646335)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">7</text></g><g class=\"toyplot-Datum\" transform=\"translate(179.1225952843654,450.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">8</text></g><g class=\"toyplot-Datum\" transform=\"translate(236.99195775884007,429.72823352162845)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">9</text></g><g class=\"toyplot-Datum\" transform=\"translate(186.40392026226152,50.541011814509496)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">10</text></g><g class=\"toyplot-Datum\" transform=\"translate(152.94553196355048,282.43678642694215)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">11</text></g><g class=\"toyplot-Datum\" transform=\"translate(278.73670665553715,94.04365483040596)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">12</text></g><g class=\"toyplot-Datum\" transform=\"translate(148.65374796653364,225.23648564410354)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">13</text></g></g></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"te014b4faa56e4062b420fbb813c1d0c7\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"t24b6fe3f21074036a295769cd72c10e1\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t6f934b614f404928bb984fee152ba952\",\"vertex_data\",\"graph vertex data\",[\"x\", \"y\"],[[-0.175902589838734, -0.06895752474969351, 0.456810496828494, -0.049092615838533395, 0.12117974805473543, -0.4321792677373991, 0.8724185988559525, -0.5350972164030829, -0.24420020502483591, 0.09288884264215654, -0.20178648561267679, -0.3966816039589296, 0.3360520130830295, -0.42168124657612566], [-0.5093944187086274, 0.1947898764720554, 0.10400016585337685, 0.9450643985151593, 1.372719329798415, 1.1347045556496798, 0.029501374937632645, -0.7561984681839908, -0.9572807479849015, -0.8391977043063745, 1.369567935873693, 0.01877500366221689, 1.1161650318466467, 0.35196676684532435]],\"toyplot\");\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t6f934b614f404928bb984fee152ba952\",\"edge_data\",\"graph edge data\",[\"source\", \"target\"],[[0, 0, 0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 3], [7, 8, 9, 1, 2, 11, 3, 13, 6, 4, 5, 10, 12]],\"toyplot\");\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "source": [
    "toyplot.graph(\n",
    "    edges,\n",
    "    layout=layout,\n",
    "    ecolor=\"black\",\n",
    "    tmarker=toyplot.marker.create(shape=\">\", mstyle={\"fill\":\"white\"}),\n",
    "    vcolor=colormap,\n",
    "    vsize=30,\n",
    "    vstyle=vstyle,\n",
    "    width=500,\n",
    ");"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"t1df4e5614988469f91b89817eda3c54a\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"500.0px\" id=\"t01a7f2c446654f2faf652ce8ef1a60e9\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 500.0 500.0\" width=\"500.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"tf39a25b3c18b4e638c0575a0a51b5bc2\"><clipPath id=\"tadb4e0a5f9fc4f6eb78fe01e51392981\"><rect height=\"440.0\" width=\"440.0\" x=\"30.0\" y=\"30.0\"></rect></clipPath><g clip-path=\"url(#tadb4e0a5f9fc4f6eb78fe01e51392981)\"><g class=\"toyplot-mark-Graph\" id=\"tfcdbd40a686e443eb13bc255a34c18a4\"><g class=\"toyplot-Edges\"><path d=\"M 178.48459317864885 381.6042528792594 L 141.54611004913409 406.984830826765\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 188.5863149649527 387.9382331654178 L 181.38378769066145 435.17141244414324\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 200.32393282400628 384.73708559600385 L 227.51553230608255 418.10079353518563\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 193.09974448928168 358.27969523998274 L 206.95493746675245 267.049592258518\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 223.98841656851758 254.7720692470348 L 284.6865341506266 265.2534304257475\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 195.99250865560032 259.3170079059939 L 166.16019789273554 275.3394204098879\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 209.60418825977158 237.22489680468186 L 212.22044558756775 138.4118982184521\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 195.5059299610733 246.1142429862307 L 162.35499259024573 231.34188454681257\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 314.23244636677464 270.45246182071963 L 356.05213391104996 277.9487453227118\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 218.166130443428 109.48114767615367 L 236.30009421198017 63.93600545804062\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 199.1744438993484 116.76243015388775 L 160.29452799741065 97.51562704949004\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 207.54041754850553 109.30249240735382 L 191.48096197630994 64.65567254134994\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 226.32561981770826 117.32729811177286 L 265.0285461003828 100.13350985282737\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><g class=\"toyplot-HeadMarkers\"></g><g class=\"toyplot-MiddleMarkers\"></g><g class=\"toyplot-TailMarkers\"><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(141.54611004913409, 406.984830826765) rotate(145.50688845095195) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(181.38378769066145, 435.17141244414324) rotate(98.67017011115577) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(227.51553230608255, 418.10079353518563) rotate(50.819782740230316) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(206.95493746675245, 267.049592258518) rotate(-81.3644303946073) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(284.6865341506266, 265.2534304257475) rotate(9.79722796857128) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(166.16019789273554, 275.3394204098879) rotate(151.76053207008147) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(212.22044558756775, 138.4118982184521) rotate(-88.48334235441433) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(162.35499259024573, 231.34188454681257) rotate(-155.9818135917853) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(356.05213391104996, 277.9487453227118) rotate(10.162483771761122) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(236.30009421198017, 63.93600545804062) rotate(-68.28984605939009) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(160.29452799741065, 97.51562704949004) rotate(-153.66311670049916) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(191.48096197630994, 64.65567254134994) rotate(-109.78365195677) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(265.0285461003828, 100.13350985282737) rotate(-23.953201514419998) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g></g></g><g class=\"toyplot-Vertices\"><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(190.84750737124875, 373.109645609561)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,84.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(209.20717458478538, 252.2196418889397)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,69.2%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(299.4677761343588, 267.8058577838426)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,53.8%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(212.61745926255395, 123.41715313419428)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,38.5%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(241.8487653928542, 50.0)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,23.1%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(146.8515126342051, 90.8609040691835)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,7.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(370.8168041434658, 280.5953493595888)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,92.3%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(129.18319585653418, 415.47943809646335)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,76.9%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(179.1225952843654, 450.0)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,61.5%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(236.99195775884007, 429.72823352162845)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,46.2%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(186.40392026226152, 50.541011814509496)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,30.8%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(152.94553196355048, 282.43678642694215)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,15.4%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(278.73670665553715, 94.04365483040596)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,0%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(148.65374796653364, 225.23648564410354)\"><circle r=\"15.0\"></circle></g></g><g class=\"toyplot-Labels\"><g class=\"toyplot-Datum\" transform=\"translate(190.84750737124875,373.109645609561)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">0</text></g><g class=\"toyplot-Datum\" transform=\"translate(209.20717458478538,252.2196418889397)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">1</text></g><g class=\"toyplot-Datum\" transform=\"translate(299.4677761343588,267.8058577838426)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">2</text></g><g class=\"toyplot-Datum\" transform=\"translate(212.61745926255395,123.41715313419428)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">3</text></g><g class=\"toyplot-Datum\" transform=\"translate(241.8487653928542,50.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">4</text></g><g class=\"toyplot-Datum\" transform=\"translate(146.8515126342051,90.8609040691835)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">5</text></g><g class=\"toyplot-Datum\" transform=\"translate(370.8168041434658,280.5953493595888)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">6</text></g><g class=\"toyplot-Datum\" transform=\"translate(129.18319585653418,415.47943809646335)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">7</text></g><g class=\"toyplot-Datum\" transform=\"translate(179.1225952843654,450.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">8</text></g><g class=\"toyplot-Datum\" transform=\"translate(236.99195775884007,429.72823352162845)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">9</text></g><g class=\"toyplot-Datum\" transform=\"translate(186.40392026226152,50.541011814509496)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">10</text></g><g class=\"toyplot-Datum\" transform=\"translate(152.94553196355048,282.43678642694215)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">11</text></g><g class=\"toyplot-Datum\" transform=\"translate(278.73670665553715,94.04365483040596)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">12</text></g><g class=\"toyplot-Datum\" transform=\"translate(148.65374796653364,225.23648564410354)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">13</text></g></g></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"t1df4e5614988469f91b89817eda3c54a\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"t01a7f2c446654f2faf652ce8ef1a60e9\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"tfcdbd40a686e443eb13bc255a34c18a4\",\"vertex_data\",\"graph vertex data\",[\"x\", \"y\"],[[-0.175902589838734, -0.06895752474969351, 0.456810496828494, -0.049092615838533395, 0.12117974805473543, -0.4321792677373991, 0.8724185988559525, -0.5350972164030829, -0.24420020502483591, 0.09288884264215654, -0.20178648561267679, -0.3966816039589296, 0.3360520130830295, -0.42168124657612566], [-0.5093944187086274, 0.1947898764720554, 0.10400016585337685, 0.9450643985151593, 1.372719329798415, 1.1347045556496798, 0.029501374937632645, -0.7561984681839908, -0.9572807479849015, -0.8391977043063745, 1.369567935873693, 0.01877500366221689, 1.1161650318466467, 0.35196676684532435]],\"toyplot\");\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"tfcdbd40a686e443eb13bc255a34c18a4\",\"edge_data\",\"graph edge data\",[\"source\", \"target\"],[[0, 0, 0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 3], [7, 8, 9, 1, 2, 11, 3, 13, 6, 4, 5, 10, 12]],\"toyplot\");\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "source": [
    "toyplot.graph(\n",
    "    edges,\n",
    "    layout=layout,\n",
    "    ecolor=\"black\",\n",
    "    hmarker=toyplot.marker.create(shape=\"d\", mstyle={\"fill\":\"white\"}),\n",
    "    tmarker=toyplot.marker.create(shape=\">\", mstyle={\"fill\":\"white\"}),\n",
    "    vcolor=colormap,\n",
    "    vsize=30,\n",
    "    vstyle=vstyle,\n",
    "    width=500,\n",
    ");"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"t6578799be2574d47b47eeecf2a8060b5\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"500.0px\" id=\"tf9d3879b85f441409005c55b7f3b3f78\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 500.0 500.0\" width=\"500.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"tb1ba3d7608394d2383ee561554eebad2\"><clipPath id=\"t8aebd5c1ae74419698d7a97ae9eb9731\"><rect height=\"440.0\" width=\"440.0\" x=\"30.0\" y=\"30.0\"></rect></clipPath><g clip-path=\"url(#t8aebd5c1ae74419698d7a97ae9eb9731)\"><g class=\"toyplot-mark-Graph\" id=\"t8cc10f3f88b24d0a80bd3cd8277e5202\"><g class=\"toyplot-Edges\"><path d=\"M 178.48459317864885 381.6042528792594 L 141.54611004913409 406.984830826765\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 188.5863149649527 387.9382331654178 L 181.38378769066145 435.17141244414324\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 200.32393282400628 384.73708559600385 L 227.51553230608255 418.10079353518563\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 193.09974448928168 358.27969523998274 L 206.95493746675245 267.049592258518\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 223.98841656851758 254.7720692470348 L 284.6865341506266 265.2534304257475\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 195.99250865560032 259.3170079059939 L 166.16019789273554 275.3394204098879\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 209.60418825977158 237.22489680468186 L 212.22044558756775 138.4118982184521\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 195.5059299610733 246.1142429862307 L 162.35499259024573 231.34188454681257\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 314.23244636677464 270.45246182071963 L 356.05213391104996 277.9487453227118\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 218.166130443428 109.48114767615367 L 236.30009421198017 63.93600545804062\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 199.1744438993484 116.76243015388775 L 160.29452799741065 97.51562704949004\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 207.54041754850553 109.30249240735382 L 191.48096197630994 64.65567254134994\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 226.32561981770826 117.32729811177286 L 265.0285461003828 100.13350985282737\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><g class=\"toyplot-HeadMarkers\"><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(178.48459317864885, 381.6042528792594) rotate(145.50688845095195) translate(5.0, 0)\"><rect height=\"10\" transform=\"rotate(-45)\" width=\"10\" x=\"-5.0\" y=\"-5.0\"></rect></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(188.5863149649527, 387.9382331654178) rotate(98.67017011115577) translate(5.0, 0)\"><rect height=\"10\" transform=\"rotate(-45)\" width=\"10\" x=\"-5.0\" y=\"-5.0\"></rect></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(200.32393282400628, 384.73708559600385) rotate(50.819782740230316) translate(5.0, 0)\"><rect height=\"10\" transform=\"rotate(-45)\" width=\"10\" x=\"-5.0\" y=\"-5.0\"></rect></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(193.09974448928168, 358.27969523998274) rotate(-81.3644303946073) translate(5.0, 0)\"><rect height=\"10\" transform=\"rotate(-45)\" width=\"10\" x=\"-5.0\" y=\"-5.0\"></rect></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(223.98841656851758, 254.7720692470348) rotate(9.79722796857128) translate(5.0, 0)\"><rect height=\"10\" transform=\"rotate(-45)\" width=\"10\" x=\"-5.0\" y=\"-5.0\"></rect></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(195.99250865560032, 259.3170079059939) rotate(151.76053207008147) translate(5.0, 0)\"><rect height=\"10\" transform=\"rotate(-45)\" width=\"10\" x=\"-5.0\" y=\"-5.0\"></rect></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(209.60418825977158, 237.22489680468186) rotate(-88.48334235441433) translate(5.0, 0)\"><rect height=\"10\" transform=\"rotate(-45)\" width=\"10\" x=\"-5.0\" y=\"-5.0\"></rect></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(195.5059299610733, 246.1142429862307) rotate(-155.9818135917853) translate(5.0, 0)\"><rect height=\"10\" transform=\"rotate(-45)\" width=\"10\" x=\"-5.0\" y=\"-5.0\"></rect></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(314.23244636677464, 270.45246182071963) rotate(10.162483771761122) translate(5.0, 0)\"><rect height=\"10\" transform=\"rotate(-45)\" width=\"10\" x=\"-5.0\" y=\"-5.0\"></rect></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(218.166130443428, 109.48114767615367) rotate(-68.28984605939009) translate(5.0, 0)\"><rect height=\"10\" transform=\"rotate(-45)\" width=\"10\" x=\"-5.0\" y=\"-5.0\"></rect></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(199.1744438993484, 116.76243015388775) rotate(-153.66311670049916) translate(5.0, 0)\"><rect height=\"10\" transform=\"rotate(-45)\" width=\"10\" x=\"-5.0\" y=\"-5.0\"></rect></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(207.54041754850553, 109.30249240735382) rotate(-109.78365195677) translate(5.0, 0)\"><rect height=\"10\" transform=\"rotate(-45)\" width=\"10\" x=\"-5.0\" y=\"-5.0\"></rect></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(226.32561981770826, 117.32729811177286) rotate(-23.953201514419998) translate(5.0, 0)\"><rect height=\"10\" transform=\"rotate(-45)\" width=\"10\" x=\"-5.0\" y=\"-5.0\"></rect></g></g><g class=\"toyplot-MiddleMarkers\"></g><g class=\"toyplot-TailMarkers\"><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(141.54611004913409, 406.984830826765) rotate(145.50688845095195) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(181.38378769066145, 435.17141244414324) rotate(98.67017011115577) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(227.51553230608255, 418.10079353518563) rotate(50.819782740230316) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(206.95493746675245, 267.049592258518) rotate(-81.3644303946073) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(284.6865341506266, 265.2534304257475) rotate(9.79722796857128) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(166.16019789273554, 275.3394204098879) rotate(151.76053207008147) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(212.22044558756775, 138.4118982184521) rotate(-88.48334235441433) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(162.35499259024573, 231.34188454681257) rotate(-155.9818135917853) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(356.05213391104996, 277.9487453227118) rotate(10.162483771761122) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(236.30009421198017, 63.93600545804062) rotate(-68.28984605939009) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(160.29452799741065, 97.51562704949004) rotate(-153.66311670049916) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(191.48096197630994, 64.65567254134994) rotate(-109.78365195677) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(265.0285461003828, 100.13350985282737) rotate(-23.953201514419998) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g></g></g><g class=\"toyplot-Vertices\"><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(190.84750737124875, 373.109645609561)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,84.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(209.20717458478538, 252.2196418889397)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,69.2%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(299.4677761343588, 267.8058577838426)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,53.8%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(212.61745926255395, 123.41715313419428)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,38.5%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(241.8487653928542, 50.0)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,23.1%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(146.8515126342051, 90.8609040691835)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,7.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(370.8168041434658, 280.5953493595888)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,92.3%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(129.18319585653418, 415.47943809646335)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,76.9%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(179.1225952843654, 450.0)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,61.5%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(236.99195775884007, 429.72823352162845)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,46.2%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(186.40392026226152, 50.541011814509496)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,30.8%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(152.94553196355048, 282.43678642694215)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,15.4%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(278.73670665553715, 94.04365483040596)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,0%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(148.65374796653364, 225.23648564410354)\"><circle r=\"15.0\"></circle></g></g><g class=\"toyplot-Labels\"><g class=\"toyplot-Datum\" transform=\"translate(190.84750737124875,373.109645609561)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">0</text></g><g class=\"toyplot-Datum\" transform=\"translate(209.20717458478538,252.2196418889397)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">1</text></g><g class=\"toyplot-Datum\" transform=\"translate(299.4677761343588,267.8058577838426)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">2</text></g><g class=\"toyplot-Datum\" transform=\"translate(212.61745926255395,123.41715313419428)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">3</text></g><g class=\"toyplot-Datum\" transform=\"translate(241.8487653928542,50.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">4</text></g><g class=\"toyplot-Datum\" transform=\"translate(146.8515126342051,90.8609040691835)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">5</text></g><g class=\"toyplot-Datum\" transform=\"translate(370.8168041434658,280.5953493595888)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">6</text></g><g class=\"toyplot-Datum\" transform=\"translate(129.18319585653418,415.47943809646335)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">7</text></g><g class=\"toyplot-Datum\" transform=\"translate(179.1225952843654,450.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">8</text></g><g class=\"toyplot-Datum\" transform=\"translate(236.99195775884007,429.72823352162845)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">9</text></g><g class=\"toyplot-Datum\" transform=\"translate(186.40392026226152,50.541011814509496)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">10</text></g><g class=\"toyplot-Datum\" transform=\"translate(152.94553196355048,282.43678642694215)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">11</text></g><g class=\"toyplot-Datum\" transform=\"translate(278.73670665553715,94.04365483040596)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">12</text></g><g class=\"toyplot-Datum\" transform=\"translate(148.65374796653364,225.23648564410354)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">13</text></g></g></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"t6578799be2574d47b47eeecf2a8060b5\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"tf9d3879b85f441409005c55b7f3b3f78\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t8cc10f3f88b24d0a80bd3cd8277e5202\",\"vertex_data\",\"graph vertex data\",[\"x\", \"y\"],[[-0.175902589838734, -0.06895752474969351, 0.456810496828494, -0.049092615838533395, 0.12117974805473543, -0.4321792677373991, 0.8724185988559525, -0.5350972164030829, -0.24420020502483591, 0.09288884264215654, -0.20178648561267679, -0.3966816039589296, 0.3360520130830295, -0.42168124657612566], [-0.5093944187086274, 0.1947898764720554, 0.10400016585337685, 0.9450643985151593, 1.372719329798415, 1.1347045556496798, 0.029501374937632645, -0.7561984681839908, -0.9572807479849015, -0.8391977043063745, 1.369567935873693, 0.01877500366221689, 1.1161650318466467, 0.35196676684532435]],\"toyplot\");\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t8cc10f3f88b24d0a80bd3cd8277e5202\",\"edge_data\",\"graph edge data\",[\"source\", \"target\"],[[0, 0, 0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 3], [7, 8, 9, 1, 2, 11, 3, 13, 6, 4, 5, 10, 12]],\"toyplot\");\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "source": [
    "toyplot.graph(\n",
    "    edges,\n",
    "    layout=layout,\n",
    "    ecolor=\"black\",\n",
    "    mmarker=toyplot.marker.create(shape=\"r3x1\", size=15, label=\"1.2\", mstyle={\"fill\":\"white\"}),\n",
    "    vcolor=colormap,\n",
    "    vsize=30,\n",
    "    vstyle=vstyle,\n",
    "    width=500,\n",
    ");"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"tce3aaed858da4c10bbbc9126566637f9\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"500.0px\" id=\"t8be13709fc9c4b3ba5f78e8776ffe70b\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 500.0 500.0\" width=\"500.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"t02f1ac6454574d4d9d70d4a703051825\"><clipPath id=\"t0cc282baebcc43c2bd0943bb0669b865\"><rect height=\"440.0\" width=\"440.0\" x=\"30.0\" y=\"30.0\"></rect></clipPath><g clip-path=\"url(#t0cc282baebcc43c2bd0943bb0669b865)\"><g class=\"toyplot-mark-Graph\" id=\"td3bda86f648c412f9fe4c4fb0eead61f\"><g class=\"toyplot-Edges\"><path d=\"M 178.48459317864885 381.6042528792594 L 141.54611004913409 406.984830826765\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 188.5863149649527 387.9382331654178 L 181.38378769066145 435.17141244414324\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 200.32393282400628 384.73708559600385 L 227.51553230608255 418.10079353518563\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 193.09974448928168 358.27969523998274 L 206.95493746675245 267.049592258518\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 223.98841656851758 254.7720692470348 L 284.6865341506266 265.2534304257475\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 195.99250865560032 259.3170079059939 L 166.16019789273554 275.3394204098879\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 209.60418825977158 237.22489680468186 L 212.22044558756775 138.4118982184521\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 195.5059299610733 246.1142429862307 L 162.35499259024573 231.34188454681257\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 314.23244636677464 270.45246182071963 L 356.05213391104996 277.9487453227118\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 218.166130443428 109.48114767615367 L 236.30009421198017 63.93600545804062\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 199.1744438993484 116.76243015388775 L 160.29452799741065 97.51562704949004\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 207.54041754850553 109.30249240735382 L 191.48096197630994 64.65567254134994\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 226.32561981770826 117.32729811177286 L 265.0285461003828 100.13350985282737\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><g class=\"toyplot-HeadMarkers\"></g><g class=\"toyplot-MiddleMarkers\"><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(160.01535161389148, 394.2945418530122) rotate(145.50688845095195)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(184.98505132780707, 411.55482280478054) rotate(98.67017011115577)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(213.9197325650444, 401.41893956559477) rotate(50.819782740230316)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(200.02734097801707, 312.66464374925033) rotate(-81.3644303946073)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(254.33747535957207, 260.01274983639115) rotate(9.79722796857128)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(181.07635327416793, 267.3282141579409) rotate(151.76053207008147)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(210.91231692366966, 187.81839751156699) rotate(-88.48334235441433)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(178.93046127565952, 238.72806376652164) rotate(-155.9818135917853)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(335.1422901389123, 274.2006035717157) rotate(10.162483771761122)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(227.23311232770408, 86.70857656709714) rotate(-68.28984605939009)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(179.73448594837953, 107.13902860168889) rotate(-153.66311670049916)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(199.51068976240774, 86.97908247435188) rotate(-109.78365195677)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(245.67708295904555, 108.73040398230012) rotate(-23.953201514419998)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g></g><g class=\"toyplot-TailMarkers\"></g></g><g class=\"toyplot-Vertices\"><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(190.84750737124875, 373.109645609561)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,84.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(209.20717458478538, 252.2196418889397)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,69.2%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(299.4677761343588, 267.8058577838426)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,53.8%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(212.61745926255395, 123.41715313419428)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,38.5%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(241.8487653928542, 50.0)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,23.1%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(146.8515126342051, 90.8609040691835)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,7.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(370.8168041434658, 280.5953493595888)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,92.3%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(129.18319585653418, 415.47943809646335)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,76.9%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(179.1225952843654, 450.0)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,61.5%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(236.99195775884007, 429.72823352162845)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,46.2%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(186.40392026226152, 50.541011814509496)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,30.8%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(152.94553196355048, 282.43678642694215)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,15.4%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(278.73670665553715, 94.04365483040596)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,0%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(148.65374796653364, 225.23648564410354)\"><circle r=\"15.0\"></circle></g></g><g class=\"toyplot-Labels\"><g class=\"toyplot-Datum\" transform=\"translate(190.84750737124875,373.109645609561)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">0</text></g><g class=\"toyplot-Datum\" transform=\"translate(209.20717458478538,252.2196418889397)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">1</text></g><g class=\"toyplot-Datum\" transform=\"translate(299.4677761343588,267.8058577838426)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">2</text></g><g class=\"toyplot-Datum\" transform=\"translate(212.61745926255395,123.41715313419428)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">3</text></g><g class=\"toyplot-Datum\" transform=\"translate(241.8487653928542,50.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">4</text></g><g class=\"toyplot-Datum\" transform=\"translate(146.8515126342051,90.8609040691835)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">5</text></g><g class=\"toyplot-Datum\" transform=\"translate(370.8168041434658,280.5953493595888)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">6</text></g><g class=\"toyplot-Datum\" transform=\"translate(129.18319585653418,415.47943809646335)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">7</text></g><g class=\"toyplot-Datum\" transform=\"translate(179.1225952843654,450.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">8</text></g><g class=\"toyplot-Datum\" transform=\"translate(236.99195775884007,429.72823352162845)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">9</text></g><g class=\"toyplot-Datum\" transform=\"translate(186.40392026226152,50.541011814509496)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">10</text></g><g class=\"toyplot-Datum\" transform=\"translate(152.94553196355048,282.43678642694215)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">11</text></g><g class=\"toyplot-Datum\" transform=\"translate(278.73670665553715,94.04365483040596)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">12</text></g><g class=\"toyplot-Datum\" transform=\"translate(148.65374796653364,225.23648564410354)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">13</text></g></g></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"tce3aaed858da4c10bbbc9126566637f9\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"t8be13709fc9c4b3ba5f78e8776ffe70b\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"td3bda86f648c412f9fe4c4fb0eead61f\",\"vertex_data\",\"graph vertex data\",[\"x\", \"y\"],[[-0.175902589838734, -0.06895752474969351, 0.456810496828494, -0.049092615838533395, 0.12117974805473543, -0.4321792677373991, 0.8724185988559525, -0.5350972164030829, -0.24420020502483591, 0.09288884264215654, -0.20178648561267679, -0.3966816039589296, 0.3360520130830295, -0.42168124657612566], [-0.5093944187086274, 0.1947898764720554, 0.10400016585337685, 0.9450643985151593, 1.372719329798415, 1.1347045556496798, 0.029501374937632645, -0.7561984681839908, -0.9572807479849015, -0.8391977043063745, 1.369567935873693, 0.01877500366221689, 1.1161650318466467, 0.35196676684532435]],\"toyplot\");\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"td3bda86f648c412f9fe4c4fb0eead61f\",\"edge_data\",\"graph edge data\",[\"source\", \"target\"],[[0, 0, 0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 3], [7, 8, 9, 1, 2, 11, 3, 13, 6, 4, 5, 10, 12]],\"toyplot\");\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "source": [
    "toyplot.graph(\n",
    "    edges,\n",
    "    layout=layout,\n",
    "    ecolor=\"black\",\n",
    "    mmarker=toyplot.marker.create(shape=\"r3x1\", angle=0, size=15, label=\"1.2\", mstyle={\"fill\":\"white\"}),\n",
    "    vcolor=colormap,\n",
    "    vsize=30,\n",
    "    vstyle=vstyle,\n",
    "    width=500,\n",
    ");"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"t87698a97726d4e1abc4907a4f214ac23\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"500.0px\" id=\"td0bfd8293d834398b043f8c570aee891\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 500.0 500.0\" width=\"500.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"t487281759c874f399fa5c149316215c5\"><clipPath id=\"t8eb8757bfeeb4bfab9ce3bd402350102\"><rect height=\"440.0\" width=\"440.0\" x=\"30.0\" y=\"30.0\"></rect></clipPath><g clip-path=\"url(#t8eb8757bfeeb4bfab9ce3bd402350102)\"><g class=\"toyplot-mark-Graph\" id=\"tb2f7559002c64623ade9baf1c3c04f71\"><g class=\"toyplot-Edges\"><path d=\"M 178.48459317864885 381.6042528792594 L 141.54611004913409 406.984830826765\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 188.5863149649527 387.9382331654178 L 181.38378769066145 435.17141244414324\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 200.32393282400628 384.73708559600385 L 227.51553230608255 418.10079353518563\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 193.09974448928168 358.27969523998274 L 206.95493746675245 267.049592258518\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 223.98841656851758 254.7720692470348 L 284.6865341506266 265.2534304257475\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 195.99250865560032 259.3170079059939 L 166.16019789273554 275.3394204098879\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 209.60418825977158 237.22489680468186 L 212.22044558756775 138.4118982184521\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 195.5059299610733 246.1142429862307 L 162.35499259024573 231.34188454681257\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 314.23244636677464 270.45246182071963 L 356.05213391104996 277.9487453227118\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 218.166130443428 109.48114767615367 L 236.30009421198017 63.93600545804062\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 199.1744438993484 116.76243015388775 L 160.29452799741065 97.51562704949004\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 207.54041754850553 109.30249240735382 L 191.48096197630994 64.65567254134994\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 226.32561981770826 117.32729811177286 L 265.0285461003828 100.13350985282737\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><g class=\"toyplot-HeadMarkers\"></g><g class=\"toyplot-MiddleMarkers\"><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(160.01535161389148, 394.2945418530122)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(184.98505132780707, 411.55482280478054)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(213.9197325650444, 401.41893956559477)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(200.02734097801707, 312.66464374925033)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(254.33747535957207, 260.01274983639115)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(181.07635327416793, 267.3282141579409)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(210.91231692366966, 187.81839751156699)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(178.93046127565952, 238.72806376652164)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(335.1422901389123, 274.2006035717157)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(227.23311232770408, 86.70857656709714)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(179.73448594837953, 107.13902860168889)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(199.51068976240774, 86.97908247435188)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(245.67708295904555, 108.73040398230012)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g></g><g class=\"toyplot-TailMarkers\"></g></g><g class=\"toyplot-Vertices\"><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(190.84750737124875, 373.109645609561)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,84.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(209.20717458478538, 252.2196418889397)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,69.2%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(299.4677761343588, 267.8058577838426)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,53.8%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(212.61745926255395, 123.41715313419428)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,38.5%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(241.8487653928542, 50.0)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,23.1%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(146.8515126342051, 90.8609040691835)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,7.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(370.8168041434658, 280.5953493595888)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,92.3%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(129.18319585653418, 415.47943809646335)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,76.9%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(179.1225952843654, 450.0)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,61.5%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(236.99195775884007, 429.72823352162845)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,46.2%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(186.40392026226152, 50.541011814509496)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,30.8%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(152.94553196355048, 282.43678642694215)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,15.4%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(278.73670665553715, 94.04365483040596)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,0%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(148.65374796653364, 225.23648564410354)\"><circle r=\"15.0\"></circle></g></g><g class=\"toyplot-Labels\"><g class=\"toyplot-Datum\" transform=\"translate(190.84750737124875,373.109645609561)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">0</text></g><g class=\"toyplot-Datum\" transform=\"translate(209.20717458478538,252.2196418889397)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">1</text></g><g class=\"toyplot-Datum\" transform=\"translate(299.4677761343588,267.8058577838426)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">2</text></g><g class=\"toyplot-Datum\" transform=\"translate(212.61745926255395,123.41715313419428)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">3</text></g><g class=\"toyplot-Datum\" transform=\"translate(241.8487653928542,50.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">4</text></g><g class=\"toyplot-Datum\" transform=\"translate(146.8515126342051,90.8609040691835)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">5</text></g><g class=\"toyplot-Datum\" transform=\"translate(370.8168041434658,280.5953493595888)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">6</text></g><g class=\"toyplot-Datum\" transform=\"translate(129.18319585653418,415.47943809646335)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">7</text></g><g class=\"toyplot-Datum\" transform=\"translate(179.1225952843654,450.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">8</text></g><g class=\"toyplot-Datum\" transform=\"translate(236.99195775884007,429.72823352162845)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">9</text></g><g class=\"toyplot-Datum\" transform=\"translate(186.40392026226152,50.541011814509496)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">10</text></g><g class=\"toyplot-Datum\" transform=\"translate(152.94553196355048,282.43678642694215)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">11</text></g><g class=\"toyplot-Datum\" transform=\"translate(278.73670665553715,94.04365483040596)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">12</text></g><g class=\"toyplot-Datum\" transform=\"translate(148.65374796653364,225.23648564410354)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">13</text></g></g></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"t87698a97726d4e1abc4907a4f214ac23\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"td0bfd8293d834398b043f8c570aee891\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"tb2f7559002c64623ade9baf1c3c04f71\",\"vertex_data\",\"graph vertex data\",[\"x\", \"y\"],[[-0.175902589838734, -0.06895752474969351, 0.456810496828494, -0.049092615838533395, 0.12117974805473543, -0.4321792677373991, 0.8724185988559525, -0.5350972164030829, -0.24420020502483591, 0.09288884264215654, -0.20178648561267679, -0.3966816039589296, 0.3360520130830295, -0.42168124657612566], [-0.5093944187086274, 0.1947898764720554, 0.10400016585337685, 0.9450643985151593, 1.372719329798415, 1.1347045556496798, 0.029501374937632645, -0.7561984681839908, -0.9572807479849015, -0.8391977043063745, 1.369567935873693, 0.01877500366221689, 1.1161650318466467, 0.35196676684532435]],\"toyplot\");\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"tb2f7559002c64623ade9baf1c3c04f71\",\"edge_data\",\"graph edge data\",[\"source\", \"target\"],[[0, 0, 0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 3], [7, 8, 9, 1, 2, 11, 3, 13, 6, 4, 5, 10, 12]],\"toyplot\");\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "source": [
    "toyplot.graph(\n",
    "    edges,\n",
    "    layout=layout,\n",
    "    ecolor=\"black\",\n",
    "    mmarker=toyplot.marker.create(shape=\"r3x1\", angle=\"r90\", size=15, label=\"1.2\", mstyle={\"fill\":\"white\"}),\n",
    "    vcolor=colormap,\n",
    "    vsize=30,\n",
    "    vstyle=vstyle,\n",
    "    width=500,\n",
    ");"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"t92b82ec645eb432e89b519635edb22ea\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"500.0px\" id=\"t18b0a615d76a425095ae4a4db2f9efc1\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 500.0 500.0\" width=\"500.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"t35b70012de3644ba897340026a5be39c\"><clipPath id=\"t1c0a9cff8f314f1489d51b248eca7e6f\"><rect height=\"440.0\" width=\"440.0\" x=\"30.0\" y=\"30.0\"></rect></clipPath><g clip-path=\"url(#t1c0a9cff8f314f1489d51b248eca7e6f)\"><g class=\"toyplot-mark-Graph\" id=\"t53463613c8a54ecba950e2d4ae0e0a52\"><g class=\"toyplot-Edges\"><path d=\"M 178.48459317864885 381.6042528792594 L 141.54611004913409 406.984830826765\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 188.5863149649527 387.9382331654178 L 181.38378769066145 435.17141244414324\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 200.32393282400628 384.73708559600385 L 227.51553230608255 418.10079353518563\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 193.09974448928168 358.27969523998274 L 206.95493746675245 267.049592258518\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 223.98841656851758 254.7720692470348 L 284.6865341506266 265.2534304257475\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 195.99250865560032 259.3170079059939 L 166.16019789273554 275.3394204098879\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 209.60418825977158 237.22489680468186 L 212.22044558756775 138.4118982184521\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 195.5059299610733 246.1142429862307 L 162.35499259024573 231.34188454681257\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 314.23244636677464 270.45246182071963 L 356.05213391104996 277.9487453227118\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 218.166130443428 109.48114767615367 L 236.30009421198017 63.93600545804062\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 199.1744438993484 116.76243015388775 L 160.29452799741065 97.51562704949004\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 207.54041754850553 109.30249240735382 L 191.48096197630994 64.65567254134994\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 226.32561981770826 117.32729811177286 L 265.0285461003828 100.13350985282737\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><g class=\"toyplot-HeadMarkers\"></g><g class=\"toyplot-MiddleMarkers\"><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(160.01535161389148, 394.2945418530122) rotate(55.50688845095195)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(184.98505132780707, 411.55482280478054) rotate(8.67017011115577)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(213.9197325650444, 401.41893956559477) rotate(-39.180217259769684)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(200.02734097801707, 312.66464374925033) rotate(-171.3644303946073)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(254.33747535957207, 260.01274983639115) rotate(-80.20277203142872)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(181.07635327416793, 267.3282141579409) rotate(61.76053207008147)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(210.91231692366966, 187.81839751156699) rotate(-178.48334235441433)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(178.93046127565952, 238.72806376652164) rotate(-245.9818135917853)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(335.1422901389123, 274.2006035717157) rotate(-79.83751622823888)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(227.23311232770408, 86.70857656709714) rotate(-158.28984605939007)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(179.73448594837953, 107.13902860168889) rotate(-243.66311670049916)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(199.51068976240774, 86.97908247435188) rotate(-199.78365195677)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(245.67708295904555, 108.73040398230012) rotate(-113.95320151442)\"><rect height=\"15.0\" width=\"45.0\" x=\"-22.5\" y=\"-7.5\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:11.25px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-7.8187500000000005\" y=\"2.8743750000000006\">1.2</text></g></g></g><g class=\"toyplot-TailMarkers\"></g></g><g class=\"toyplot-Vertices\"><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(190.84750737124875, 373.109645609561)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,84.6%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(209.20717458478538, 252.2196418889397)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,69.2%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(299.4677761343588, 267.8058577838426)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,53.8%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(212.61745926255395, 123.41715313419428)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,38.5%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(241.8487653928542, 50.0)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,23.1%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(146.8515126342051, 90.8609040691835)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,7.7%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(370.8168041434658, 280.5953493595888)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,92.3%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(129.18319585653418, 415.47943809646335)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,76.9%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(179.1225952843654, 450.0)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,61.5%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(236.99195775884007, 429.72823352162845)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,46.2%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(186.40392026226152, 50.541011814509496)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,30.8%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(152.94553196355048, 282.43678642694215)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,15.4%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(278.73670665553715, 94.04365483040596)\"><circle r=\"15.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,0%,0%);fill-opacity:1.0;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0\" transform=\"translate(148.65374796653364, 225.23648564410354)\"><circle r=\"15.0\"></circle></g></g><g class=\"toyplot-Labels\"><g class=\"toyplot-Datum\" transform=\"translate(190.84750737124875,373.109645609561)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">0</text></g><g class=\"toyplot-Datum\" transform=\"translate(209.20717458478538,252.2196418889397)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">1</text></g><g class=\"toyplot-Datum\" transform=\"translate(299.4677761343588,267.8058577838426)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">2</text></g><g class=\"toyplot-Datum\" transform=\"translate(212.61745926255395,123.41715313419428)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">3</text></g><g class=\"toyplot-Datum\" transform=\"translate(241.8487653928542,50.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">4</text></g><g class=\"toyplot-Datum\" transform=\"translate(146.8515126342051,90.8609040691835)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">5</text></g><g class=\"toyplot-Datum\" transform=\"translate(370.8168041434658,280.5953493595888)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">6</text></g><g class=\"toyplot-Datum\" transform=\"translate(129.18319585653418,415.47943809646335)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">7</text></g><g class=\"toyplot-Datum\" transform=\"translate(179.1225952843654,450.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">8</text></g><g class=\"toyplot-Datum\" transform=\"translate(236.99195775884007,429.72823352162845)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-3.3360000000000003\" y=\"3.066\">9</text></g><g class=\"toyplot-Datum\" transform=\"translate(186.40392026226152,50.541011814509496)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">10</text></g><g class=\"toyplot-Datum\" transform=\"translate(152.94553196355048,282.43678642694215)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">11</text></g><g class=\"toyplot-Datum\" transform=\"translate(278.73670665553715,94.04365483040596)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">12</text></g><g class=\"toyplot-Datum\" transform=\"translate(148.65374796653364,225.23648564410354)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-6.672000000000001\" y=\"3.066\">13</text></g></g></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"t92b82ec645eb432e89b519635edb22ea\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"t18b0a615d76a425095ae4a4db2f9efc1\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t53463613c8a54ecba950e2d4ae0e0a52\",\"vertex_data\",\"graph vertex data\",[\"x\", \"y\"],[[-0.175902589838734, -0.06895752474969351, 0.456810496828494, -0.049092615838533395, 0.12117974805473543, -0.4321792677373991, 0.8724185988559525, -0.5350972164030829, -0.24420020502483591, 0.09288884264215654, -0.20178648561267679, -0.3966816039589296, 0.3360520130830295, -0.42168124657612566], [-0.5093944187086274, 0.1947898764720554, 0.10400016585337685, 0.9450643985151593, 1.372719329798415, 1.1347045556496798, 0.029501374937632645, -0.7561984681839908, -0.9572807479849015, -0.8391977043063745, 1.369567935873693, 0.01877500366221689, 1.1161650318466467, 0.35196676684532435]],\"toyplot\");\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t53463613c8a54ecba950e2d4ae0e0a52\",\"edge_data\",\"graph edge data\",[\"source\", \"target\"],[[0, 0, 0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 3], [7, 8, 9, 1, 2, 11, 3, 13, 6, 4, 5, 10, 12]],\"toyplot\");\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "source": [
    "edges = numpy.array([\n",
    "    [\"x0\", \"a0\"],\n",
    "    [\"x0\", \"a1\"],\n",
    "    [\"x0\", \"a2\"],\n",
    "    [\"x0\", \"a3\"],\n",
    "    [\"x1\", \"a0\"],\n",
    "    [\"x1\", \"a1\"],\n",
    "    [\"x1\", \"a2\"],\n",
    "    [\"x1\", \"a3\"],\n",
    "    [\"x2\", \"a0\"],\n",
    "    [\"x2\", \"a1\"],\n",
    "    [\"x2\", \"a2\"],\n",
    "    [\"x2\", \"a3\"],\n",
    "    [\"a0\", \"y0\"],\n",
    "    [\"a0\", \"y1\"],\n",
    "    [\"a1\", \"y0\"],\n",
    "    [\"a1\", \"y1\"],\n",
    "    [\"a2\", \"y0\"],\n",
    "    [\"a2\", \"y1\"],\n",
    "    [\"a3\", \"y0\"],\n",
    "    [\"a3\", \"y1\"],\n",
    "])\n",
    "vertex_ids = numpy.unique(edges)\n",
    "\n",
    "layer_map = {\"x\": 0, \"a\": -1, \"y\": -2}\n",
    "offset_map = {\"x\": 0.5, \"a\": 0, \"y\": 1}\n",
    "vcoordinates = []\n",
    "for vertex_id in vertex_ids:\n",
    "    layer = vertex_id[0]\n",
    "    column = int(vertex_id[1:])\n",
    "    x = column + offset_map[layer]\n",
    "    y = layer_map[layer]\n",
    "    vcoordinates.append((x, y))\n",
    "vcoordinates = numpy.array(vcoordinates)\n",
    "\n",
    "vertex_values = numpy.random.uniform(size=len(vertex_ids))\n",
    "vertex_labels = [\"%.2f\" % value for value in vertex_values]\n",
    "\n",
    "edge_weights = numpy.random.uniform(size=len(edges))\n",
    "mstyle = {\"fill\": \"white\"}\n",
    "lstyle = {\"font-size\": \"12px\"}\n",
    "# mmarkers = [toyplot.marker.create(shape=\"s\", label=\"%.1f\" % weight, size=30, mstyle=mstyle, lstyle=lstyle) for weight in edge_weights]\n",
    "mmarkers = [toyplot.marker.create(angle=0, shape=\"s\", label=\"%.1f\" % weight, size=30, mstyle=mstyle, lstyle=lstyle) for weight in edge_weights]\n",
    "\n",
    "canvas, axes, mark = toyplot.graph(\n",
    "    edges,\n",
    "    ecolor=\"black\",\n",
    "    mmarker=mmarkers,\n",
    "    tmarker=\">\",\n",
    "    vcolor=\"white\",\n",
    "    vcoordinates=vcoordinates,\n",
    "    vlabel=vertex_labels,\n",
    "    vmarker=\"o\",\n",
    "    vsize=50,\n",
    "    vstyle={\"stroke\":\"black\"},\n",
    "    width=500,\n",
    "    height=500,\n",
    ")\n",
    "axes.aspect=None\n",
    "axes.padding=50"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/html": [
       "<div class=\"toyplot\" id=\"te428f66ac68345deb43ec35c6dc1807b\" style=\"text-align:center\"><svg class=\"toyplot-canvas-Canvas\" height=\"500.0px\" id=\"t0935a20d35114420944bce968c00c844\" preserveAspectRatio=\"xMidYMid meet\" style=\"background-color:transparent;border-color:#292724;border-style:none;border-width:1.0;fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:Helvetica;font-size:12px;opacity:1.0;stroke:rgb(16.1%,15.3%,14.1%);stroke-opacity:1.0;stroke-width:1.0\" viewBox=\"0 0 500.0 500.0\" width=\"500.0px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:toyplot=\"http://www.sandia.gov/toyplot\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g class=\"toyplot-coordinates-Cartesian\" id=\"tdf39937be8304580b16ded477ba6dd51\"><clipPath id=\"t1075e3632d7a466eac74f1cbf1d17865\"><rect height=\"500.0\" width=\"500.0\" x=\"0.0\" y=\"0.0\"></rect></clipPath><g clip-path=\"url(#t1075e3632d7a466eac74f1cbf1d17865)\"><g class=\"toyplot-mark-Graph\" id=\"t51147356061a45f1b2192ffa8fc122bb\"><g class=\"toyplot-Edges\"><path d=\"M 108.76097251624573 73.71708245126284 L 57.90569415042095 226.28291754873715\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 124.57236081708761 73.71708245126284 L 175.4276391829124 226.28291754873715\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 134.34433619633035 67.67766952966369 L 298.988997137003 232.3223304703363\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 138.10398980948028 62.862393885688164 L 428.5626768571864 237.13760611431184\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 232.3223304703363 67.67766952966369 L 67.67766952966369 232.3223304703363\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 242.09430584957906 73.71708245126284 L 191.23902748375428 226.28291754873715\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 257.90569415042097 73.71708245126284 L 308.7609725162457 226.28291754873715\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 267.67766952966366 67.67766952966369 L 432.3223304703363 232.3223304703363\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 361.8960101905197 62.862393885688164 L 71.4373231428136 237.13760611431184\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 365.65566380366965 67.67766952966369 L 201.01100286299703 232.3223304703363\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 375.42763918291234 73.71708245126285 L 324.57236081708766 226.28291754873715\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 391.2390274837543 73.71708245126284 L 442.09430584957903 226.28291754873715\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 63.867504905630724 270.8012573584461 L 169.4658284277026 429.1987426415539\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 70.0 265.0 L 296.6666666666667 435.0\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 183.33333333333334 275.0 L 183.33333333333334 425.0\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 197.20083823896408 270.8012573584461 L 302.799161761036 429.1987426415539\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 302.799161761036 270.8012573584461 L 197.20083823896408 429.1987426415539\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 316.6666666666667 275.0 L 316.6666666666667 425.0\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 430.0 265.0 L 203.33333333333334 435.0\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><path d=\"M 436.1324950943693 270.8012573584461 L 330.5341715722974 429.1987426415539\" style=\"fill:none;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\"></path><g class=\"toyplot-HeadMarkers\"></g><g class=\"toyplot-MiddleMarkers\"><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(83.33333333333334, 150.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">0.9</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(150.0, 150.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">0.8</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(216.66666666666669, 150.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">1.0</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(283.3333333333333, 150.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">1.0</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(150.0, 150.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">0.8</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(216.66666666666669, 150.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">0.3</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(283.33333333333337, 150.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">0.6</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(350.0, 150.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">0.5</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(216.66666666666663, 150.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">0.2</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(283.33333333333337, 150.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">0.4</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(350.0, 150.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">0.1</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(416.66666666666663, 150.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">0.5</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(116.66666666666666, 350.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">1.0</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(183.33333333333334, 350.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">0.1</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(183.33333333333334, 350.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">0.1</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(250.00000000000003, 350.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">0.7</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(250.00000000000003, 350.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">0.6</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(316.6666666666667, 350.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">0.5</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(316.6666666666667, 350.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">0.1</text></g></g><g style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(383.33333333333337, 350.0)\"><rect height=\"30\" width=\"30\" x=\"-15.0\" y=\"-15.0\"></rect><g><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-8.340000000000002\" y=\"3.066\">0.2</text></g></g></g><g class=\"toyplot-TailMarkers\"><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(57.90569415042095, 226.28291754873715) rotate(108.43494882292202) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(175.4276391829124, 226.28291754873715) rotate(71.56505117707798) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(298.988997137003, 232.3223304703363) rotate(44.99999999999999) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(428.5626768571864, 237.13760611431184) rotate(30.96375653207352) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(67.67766952966369, 232.3223304703363) rotate(135.0) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(191.23902748375428, 226.28291754873715) rotate(108.43494882292202) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(308.7609725162457, 226.28291754873715) rotate(71.56505117707799) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(432.3223304703363, 232.3223304703363) rotate(45.0) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(71.4373231428136, 237.13760611431184) rotate(149.03624346792648) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(201.01100286299703, 232.3223304703363) rotate(135.0) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(324.57236081708766, 226.28291754873715) rotate(108.434948822922) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(442.09430584957903, 226.28291754873715) rotate(71.56505117707799) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(169.4658284277026, 429.1987426415539) rotate(56.309932474020215) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(296.6666666666667, 435.0) rotate(36.86989764584402) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(183.33333333333334, 425.0) rotate(90.0) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(302.799161761036, 429.1987426415539) rotate(56.30993247402021) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(197.20083823896408, 429.1987426415539) rotate(123.69006752597979) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(316.6666666666667, 425.0) rotate(90.0) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(203.33333333333334, 435.0) rotate(143.13010235415598) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g><g style=\"fill:rgb(0%,0%,0%);fill-opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0;stroke-width:1.0\" transform=\"translate(330.5341715722974, 429.1987426415539) rotate(123.69006752597979) translate(-5.0, 0)\"><polygon points=\"-5.0,5.0 0,-5.0 5.0,5.0\" transform=\"rotate(90)\"></polygon></g></g></g><g class=\"toyplot-Vertices\"><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0\" transform=\"translate(50.0, 250.0)\"><circle r=\"25.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0\" transform=\"translate(183.33333333333334, 250.0)\"><circle r=\"25.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0\" transform=\"translate(316.6666666666667, 250.0)\"><circle r=\"25.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0\" transform=\"translate(450.0, 250.0)\"><circle r=\"25.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0\" transform=\"translate(116.66666666666667, 50.0)\"><circle r=\"25.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0\" transform=\"translate(250.0, 50.0)\"><circle r=\"25.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0\" transform=\"translate(383.3333333333333, 50.0)\"><circle r=\"25.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0\" transform=\"translate(183.33333333333334, 450.0)\"><circle r=\"25.0\"></circle></g><g class=\"toyplot-Datum\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1.0;opacity:1.0;stroke:rgb(0%,0%,0%);stroke-opacity:1.0\" transform=\"translate(316.6666666666667, 450.0)\"><circle r=\"25.0\"></circle></g></g><g class=\"toyplot-Labels\"><g class=\"toyplot-Datum\" transform=\"translate(50.0,250.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-11.676\" y=\"3.066\">0.04</text></g><g class=\"toyplot-Datum\" transform=\"translate(183.33333333333334,250.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-11.676\" y=\"3.066\">0.56</text></g><g class=\"toyplot-Datum\" transform=\"translate(316.6666666666667,250.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-11.676\" y=\"3.066\">0.33</text></g><g class=\"toyplot-Datum\" transform=\"translate(450.0,250.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-11.676\" y=\"3.066\">0.50</text></g><g class=\"toyplot-Datum\" transform=\"translate(116.66666666666667,50.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-11.676\" y=\"3.066\">0.11</text></g><g class=\"toyplot-Datum\" transform=\"translate(250.0,50.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-11.676\" y=\"3.066\">0.61</text></g><g class=\"toyplot-Datum\" transform=\"translate(383.3333333333333,50.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-11.676\" y=\"3.066\">0.57</text></g><g class=\"toyplot-Datum\" transform=\"translate(183.33333333333334,450.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-11.676\" y=\"3.066\">0.01</text></g><g class=\"toyplot-Datum\" transform=\"translate(316.6666666666667,450.0)\"><text style=\"fill:rgb(16.1%,15.3%,14.1%);fill-opacity:1.0;font-family:helvetica;font-size:12.0px;font-weight:normal;stroke:none;vertical-align:baseline;white-space:pre\" x=\"-11.676\" y=\"3.066\">0.62</text></g></g></g></g></g></svg><div class=\"toyplot-behavior\"><script>(function()\n",
       "{\n",
       "var modules={};\n",
       "modules[\"toyplot/tables\"] = (function()\n",
       "    {\n",
       "        var tables = [];\n",
       "\n",
       "        var module = {};\n",
       "\n",
       "        module.set = function(owner, key, names, columns)\n",
       "        {\n",
       "            tables.push({owner: owner, key: key, names: names, columns: columns});\n",
       "        }\n",
       "\n",
       "        module.get = function(owner, key)\n",
       "        {\n",
       "            for(var i = 0; i != tables.length; ++i)\n",
       "            {\n",
       "                var table = tables[i];\n",
       "                if(table.owner != owner)\n",
       "                    continue;\n",
       "                if(table.key != key)\n",
       "                    continue;\n",
       "                return {names: table.names, columns: table.columns};\n",
       "            }\n",
       "        }\n",
       "\n",
       "        module.get_csv = function(owner, key)\n",
       "        {\n",
       "            var table = module.get(owner, key);\n",
       "            if(table != undefined)\n",
       "            {\n",
       "                var csv = \"\";\n",
       "                csv += table.names.join(\",\") + \"\\n\";\n",
       "                for(var i = 0; i != table.columns[0].length; ++i)\n",
       "                {\n",
       "                  for(var j = 0; j != table.columns.length; ++j)\n",
       "                  {\n",
       "                    if(j)\n",
       "                      csv += \",\";\n",
       "                    csv += table.columns[j][i];\n",
       "                  }\n",
       "                  csv += \"\\n\";\n",
       "                }\n",
       "                return csv;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        return module;\n",
       "    })();\n",
       "modules[\"toyplot/root/id\"] = \"te428f66ac68345deb43ec35c6dc1807b\";\n",
       "modules[\"toyplot/root\"] = (function(root_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + root_id);\n",
       "    })(modules[\"toyplot/root/id\"]);\n",
       "modules[\"toyplot/canvas/id\"] = \"t0935a20d35114420944bce968c00c844\";\n",
       "modules[\"toyplot/canvas\"] = (function(canvas_id)\n",
       "    {\n",
       "        return document.querySelector(\"#\" + canvas_id);\n",
       "    })(modules[\"toyplot/canvas/id\"]);\n",
       "modules[\"toyplot/menus/context\"] = (function(root, canvas)\n",
       "    {\n",
       "        var wrapper = document.createElement(\"div\");\n",
       "        wrapper.innerHTML = \"<ul class='toyplot-context-menu' style='background:#eee; border:1px solid #b8b8b8; border-radius:5px; box-shadow: 0px 0px 8px rgba(0%,0%,0%,0.25); margin:0; padding:3px 0; position:fixed; visibility:hidden;'></ul>\"\n",
       "        var menu = wrapper.firstChild;\n",
       "\n",
       "        root.appendChild(menu);\n",
       "\n",
       "        var items = [];\n",
       "\n",
       "        var ignore_mouseup = null;\n",
       "        function open_menu(e)\n",
       "        {\n",
       "            var show_menu = false;\n",
       "            for(var index=0; index != items.length; ++index)\n",
       "            {\n",
       "                var item = items[index];\n",
       "                if(item.show(e))\n",
       "                {\n",
       "                    item.item.style.display = \"block\";\n",
       "                    show_menu = true;\n",
       "                }\n",
       "                else\n",
       "                {\n",
       "                    item.item.style.display = \"none\";\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if(show_menu)\n",
       "            {\n",
       "                ignore_mouseup = true;\n",
       "                menu.style.left = (e.clientX + 1) + \"px\";\n",
       "                menu.style.top = (e.clientY - 5) + \"px\";\n",
       "                menu.style.visibility = \"visible\";\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        function close_menu()\n",
       "        {\n",
       "            menu.style.visibility = \"hidden\";\n",
       "        }\n",
       "\n",
       "        function contextmenu(e)\n",
       "        {\n",
       "            open_menu(e);\n",
       "        }\n",
       "\n",
       "        function mousemove(e)\n",
       "        {\n",
       "            ignore_mouseup = false;\n",
       "        }\n",
       "\n",
       "        function mouseup(e)\n",
       "        {\n",
       "            if(ignore_mouseup)\n",
       "            {\n",
       "                ignore_mouseup = false;\n",
       "                return;\n",
       "            }\n",
       "            close_menu();\n",
       "        }\n",
       "\n",
       "        function keydown(e)\n",
       "        {\n",
       "            if(e.key == \"Escape\" || e.key == \"Esc\" || e.keyCode == 27)\n",
       "            {\n",
       "                close_menu();\n",
       "            }\n",
       "        }\n",
       "\n",
       "        canvas.addEventListener(\"contextmenu\", contextmenu);\n",
       "        canvas.addEventListener(\"mousemove\", mousemove);\n",
       "        document.addEventListener(\"mouseup\", mouseup);\n",
       "        document.addEventListener(\"keydown\", keydown);\n",
       "\n",
       "        var module = {};\n",
       "        module.add_item = function(label, show, activate)\n",
       "        {\n",
       "            var wrapper = document.createElement(\"div\");\n",
       "            wrapper.innerHTML = \"<li class='toyplot-context-menu-item' style='background:#eee; color:#333; padding:2px 20px; list-style:none; margin:0; text-align:left;'>\" + label + \"</li>\"\n",
       "            var item = wrapper.firstChild;\n",
       "\n",
       "            items.push({item: item, show: show});\n",
       "\n",
       "            function mouseover()\n",
       "            {\n",
       "                this.style.background = \"steelblue\";\n",
       "                this.style.color = \"white\";\n",
       "            }\n",
       "\n",
       "            function mouseout()\n",
       "            {\n",
       "                this.style.background = \"#eee\";\n",
       "                this.style.color = \"#333\";\n",
       "            }\n",
       "\n",
       "            function choose_item(e)\n",
       "            {\n",
       "                close_menu();\n",
       "                activate();\n",
       "\n",
       "                e.stopPropagation();\n",
       "                e.preventDefault();\n",
       "            }\n",
       "\n",
       "            item.addEventListener(\"mouseover\", mouseover);\n",
       "            item.addEventListener(\"mouseout\", mouseout);\n",
       "            item.addEventListener(\"mouseup\", choose_item);\n",
       "            item.addEventListener(\"contextmenu\", choose_item);\n",
       "\n",
       "            menu.appendChild(item);\n",
       "        };\n",
       "        return module;\n",
       "    })(modules[\"toyplot/root\"],modules[\"toyplot/canvas\"]);\n",
       "modules[\"toyplot/io\"] = (function()\n",
       "    {\n",
       "        var module = {};\n",
       "        module.save_file = function(mime_type, charset, data, filename)\n",
       "        {\n",
       "            var uri = \"data:\" + mime_type + \";charset=\" + charset + \",\" + data;\n",
       "            uri = encodeURI(uri);\n",
       "\n",
       "            var link = document.createElement(\"a\");\n",
       "            if(typeof link.download != \"undefined\")\n",
       "            {\n",
       "              link.href = uri;\n",
       "              link.style = \"visibility:hidden\";\n",
       "              link.download = filename;\n",
       "\n",
       "              document.body.appendChild(link);\n",
       "              link.click();\n",
       "              document.body.removeChild(link);\n",
       "            }\n",
       "            else\n",
       "            {\n",
       "              window.open(uri);\n",
       "            }\n",
       "        };\n",
       "        return module;\n",
       "    })();\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t51147356061a45f1b2192ffa8fc122bb\",\"vertex_data\",\"graph vertex data\",[\"x\", \"y\"],[[0.0, 1.0, 2.0, 3.0, 0.5, 1.5, 2.5, 1.0, 2.0], [-1.0, -1.0, -1.0, -1.0, 0.0, 0.0, 0.0, -2.0, -2.0]],\"toyplot\");\n",
       "(function(tables, context_menu, io, owner_id, key, label, names, columns, filename)\n",
       "        {\n",
       "            tables.set(owner_id, key, names, columns);\n",
       "\n",
       "            var owner = document.querySelector(\"#\" + owner_id);\n",
       "            function show_item(e)\n",
       "            {\n",
       "                return owner.contains(e.target);\n",
       "            }\n",
       "\n",
       "            function choose_item()\n",
       "            {\n",
       "                io.save_file(\"text/csv\", \"utf-8\", tables.get_csv(owner_id, key), filename + \".csv\");\n",
       "            }\n",
       "\n",
       "            context_menu.add_item(\"Save \" + label + \" as CSV\", show_item, choose_item);\n",
       "        })(modules[\"toyplot/tables\"],modules[\"toyplot/menus/context\"],modules[\"toyplot/io\"],\"t51147356061a45f1b2192ffa8fc122bb\",\"edge_data\",\"graph edge data\",[\"source\", \"target\"],[[4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 0, 0, 1, 1, 2, 2, 3, 3], [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 7, 8, 7, 8, 7, 8, 7, 8]],\"toyplot\");\n",
       "})();</script></div></div>"
      ]
     },
     "metadata": {}
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "source": [],
   "outputs": [],
   "metadata": {}
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "f4a74c3b9a35f939ed5c5f84fbd6ec447d08833fdb03ddd37ef62ef54b5a044d"
  },
  "kernelspec": {
   "name": "python3",
   "display_name": "Python 3.7.7 64-bit ('ml_py37': conda)"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}